ধরুন আমাদের ছোট হাতের অক্ষরের দুটি স্ট্রিং A এবং B আছে; আমাদের পরীক্ষা করতে হবে যে আমরা A তে দুটি অক্ষর অদলবদল করতে পারি যাতে ফলাফলটি B এর সমান হয় বা না হয়।
সুতরাং, যদি ইনপুট A ="ba", B ="ab" এর মত হয়, তাহলে আউটপুট হবে True।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- যদি A এর আকার B এর আকারের সমান না হয়, তাহলে
- মিথ্যে ফেরত দিন
- অন্যথায় যখন A এবং B এমন কোনো উপাদান থাকে যা সাধারণ নয়, তাহলে
- মিথ্যে ফেরত দিন
- অন্যথায় যখন A একই B এর মত এবং সমস্ত অক্ষর A-তে স্বতন্ত্র, তখন
- মিথ্যে ফেরত দিন
- অন্যথায়,
- গণনা:=0
- আমি 0 থেকে A আকারের রেঞ্জের জন্য, কর
- যদি 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