অ্যানাগ্রামগুলি মূলত একটি প্রদত্ত স্ট্রিং বা প্যাটার্নের সমস্ত পারমুটেশন। এই প্যাটার্ন অনুসন্ধান অ্যালগরিদম সামান্য ভিন্ন. এই ক্ষেত্রে, শুধুমাত্র সঠিক প্যাটার্ন অনুসন্ধান করা হয় না, এটি পাঠ্যটিতে প্রদত্ত প্যাটার্নের সমস্ত সম্ভাব্য বিন্যাস অনুসন্ধান করে। সুতরাং ইনপুটগুলি যদি "ANAGRAM" এবং "NAAGARM" হয়, তবে সেগুলি অ্যানাগ্রাম, কিন্তু "বিড়াল" এবং "ফ্যাট" একটি অ্যানাগ্রাম নয়
এটি সমাধান করার জন্য, আমরা স্ট্রিংটিকে অক্ষরের একটি তালিকায় রূপান্তর করব, তারপর সেগুলিকে বাছাই করব, যদি দুটি সাজানো তালিকা একই হয় তবে সেগুলি অ্যানাগ্রাম।
উদাহরণ (পাইথন)
আরো ভালোভাবে বোঝার জন্য নিচের বাস্তবায়নটি দেখি -
class Solution(object): def isAnagram(self, s, t): """ :type s: str :type t: str :rtype: bool """ return "".join(sorted(s)) == "".join(sorted(t)) ob1 = Solution() print(ob1.isAnagram("ANAGRAM","NAAGARM"))
ইনপুট
s = "ANAGRAM" t = "NAAGARM"
আউটপুট
true