विपर्यय मूल रूप से किसी दिए गए स्ट्रिंग या पैटर्न के सभी क्रमपरिवर्तन हैं। यह पैटर्न खोज एल्गोरिथ्म थोड़ा अलग है। इस मामले में, न केवल सटीक पैटर्न की खोज की जाती है, यह पाठ में दिए गए पैटर्न की सभी संभावित व्यवस्थाओं को खोजता है। तो अगर इनपुट "एनाग्राम" और "नागरम" हैं, तो वे विपर्यय हैं, लेकिन "बिल्ली" और "वसा" एक विपर्यय नहीं हैं
इसे हल करने के लिए, हम स्ट्रिंग को वर्णों की सूची में बदल देंगे, फिर उन्हें क्रमबद्ध करेंगे, यदि दो क्रमबद्ध सूचियाँ समान हैं तो वे विपर्यय हैं।
उदाहरण (पायथन)
आइए एक बेहतर समझ प्राप्त करने के लिए निम्नलिखित कार्यान्वयन देखें -
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