मान लीजिए हमारे पास words नामक स्ट्रिंग्स की एक सूची है, हमें सभी एनाग्राम को एक साथ समूहित करना है और सबसे बड़े समूह का आकार लौटाना है।
उदाहरण के लिए, यदि इनपुट words = ["xy", "yx", "xyz", "zyx", "yzx", "wwwww"] है, तो आउटपुट 3 होगा, क्योंकि ["xyz", "zyx", "yzx"] सबसे बड़ा समूह है।
इसे हल करने के लिए हम निम्न चरणों का पालन करेंगे:
lookup := {}खाली मैप,res := 0।प्रत्येक
iके लिएwordsमें:p := sorted(i)को लेक्सिकोग्राफिकली जोड़ें।lookup[p] = lookup.get(p, 0) + 1।res = max(res, lookup[p])।
resलौटाएं।
उदाहरण
class Solution: def solve(self, words): lookup = {} res = 0 for i in words: p = "".join(sorted(i)) lookup[p] = lookup.get(p, 0) + 1 res = max(res, lookup[p]) return res ob = Solution() words = ["xy", "yx", "xyz", "zyx", "yzx", "wwwww"] print(ob.solve(words)) इनपुट
["xy", "yx", "xyz", "zyx", "yzx", "wwwww"]
आउटपुट
3