मान लीजिए, हमारे पास स्ट्रिंग्स का एक सेट है। हमें एनाग्राम को एक साथ ग्रुप करना है। तो अगर ["खाओ", "चाय", "तन", "खाया", "नट", "बल्ले"], तो समूह हैं [["खाया", "खाओ", "चाय"], [" नेट", "टैन"], ["बैट"]]
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- 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"]]