मान लीजिए, हमारे पास स्ट्रिंग्स का एक सेट है। हमें एनाग्राम को एक साथ ग्रुप करना है। तो अगर ["खाओ", "चाय", "तन", "खाया", "नट", "बल्ले"], तो समूह हैं [["खाया", "खाओ", "चाय"], [" नेट", "टैन"], ["बैट"]]
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- res को मानचित्र के रूप में परिभाषित करें
- स्ट्रिंग सरणी में i के लिए
- x :=x और जुड़ें, i की क्रमबद्ध स्ट्रिंग
- यदि x परिणाम में है
- परिणाम में मैं सम्मिलित करें[x]
- अन्य परिणाम[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"]]