मान लीजिए कि हमारे पास लोअरकेस अक्षरों के दो तार ए और बी हैं; हमें यह जांचना होगा कि क्या हम ए में दो अक्षरों को स्वैप कर सकते हैं ताकि परिणाम बी के बराबर हो या नहीं।
इसलिए, यदि इनपुट A ="ba", B ="ab" जैसा है, तो आउटपुट ट्रू होगा।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- यदि A का आकार B के आकार के समान नहीं है, तो
- झूठी वापसी
- अन्यथा जब A और B में कोई ऐसा अवयव है जो सामान्य नहीं है, तो
- झूठी वापसी
- अन्यथा जब A, B के समान हो और A में सभी वर्ण भिन्न हों, तो
- झूठी वापसी
- अन्यथा,
- गिनती:=0
- मैं के लिए 0 से ए के आकार के बीच में, करते हैं
- यदि A[i], B[i] के समान नहीं है, तो
- गिनती :=गिनती + 1
- यदि गिनती 3 के समान है, तो
- झूठी वापसी
- यदि A[i], B[i] के समान नहीं है, तो
- सही लौटें
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
class Solution: def buddyStrings(self, A, B): if len(A)!=len(B): return False elif sorted(A)!=sorted(B): return False elif A==B and len(set(A))==len(A): return False else: count=0 for i in range(len(A)): if A[i]!=B[i]: count+=1 if count==3: return False return True ob = Solution() print(ob.buddyStrings("ba","ab"))
इनपुट
"ba","ab"
आउटपुट
True