मान लीजिए, हमारे पास स्ट्रिंग्स का एक समूह है। हमें एनाग्राम को एक साथ समूहित करना है। इसलिए यदि ["eat", "tea", "tan", "ate", "nat", "bat"] है, तो समूह [["ate","eat","tea"],["nat","tan"],["bat"]] होंगे
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे −
- res को मैप के रूप में परिभाषित करें
- स्ट्रिंग सरणी में i के लिए
- x := x और जॉइन, i का सॉर्ट किया गया स्ट्रिंग
- यदि x परिणाम में है
- i को result[x] में डालें
- अन्यथा result[x] := [i]
- res के मानों को सूची के रूप में लौटाएं
उदाहरण (पाइथन)
बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें −
class Solution: def groupAnagrams(self, strs): result = {} for i in strs: x = "".join(sorted(i)) if x in result: result[x].append(i) else: result[x] = [i] return list(result.values()) ob1 = Solution() print(ob1.groupAnagrams(["eat", "tea", "tan", "ate", "nat", "bat"]))इनपुट
["eat", "tea", "tan", "ate", "nat", "bat"]
आउटपुट
[["ate","eat","tea"],["nat","tan"],["bat"]]