ধরুন, আমাদের কাছে স্ট্রিংয়ের একটি সেট আছে। আমাদের একসাথে অ্যানাগ্রাম করতে হবে। সুতরাং যদি ["খাওয়া", "চা", "তান", "খেয়ে", "নাট", "বাট"], তাহলে দলগুলি হল [["খেয়ে","খাওয়া","চা"],[" 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"]]