ধরুন, আমাদের কাছে স্ট্রিংয়ের একটি সেট আছে। আমাদের একসাথে অ্যানাগ্রাম করতে হবে। সুতরাং যদি ["খাওয়া", "চা", "তান", "খেয়ে", "নাট", "বাট"], তাহলে দলগুলি হল [["খেয়ে","খাওয়া","চা"],[" nat","tan"],["bat"]]
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- রেসকে মানচিত্র হিসাবে সংজ্ঞায়িত করুন
- আমি স্ট্রিং অ্যারেতে
- x :=x এবং জয়েন, i এর সাজানো স্ট্রিং
- যদি x ফলে
- হয়
- insert i ফলাফলে[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"]]