ধরুন আমাদের দুটি স্ট্রিং S এবং T আছে আমাদের পরীক্ষা করতে হবে যে তারা এক বা শূন্য সম্পাদনা দূরত্ব দূরে কি না। একটি সম্পাদনা ক্রিয়াকলাপ একটি অক্ষর মুছে ফেলা, একটি অক্ষর যোগ করা বা একটি অক্ষরকে অন্য অক্ষর দিয়ে প্রতিস্থাপন হিসাবে সংজ্ঞায়িত করা যেতে পারে৷
সুতরাং, যদি ইনপুটটি S ="hello", T ="hallo" এর মত হয়, তাহলে আউটপুট হবে True, কারণ এই দুটি স্ট্রিং-এর সম্পাদনা দূরত্ব 1।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- m :=S এর আকার, n :=T এর আকার
- i :=0, j :=0
- গণনা :=0
- যদি |m - n|> 1, তারপর
- মিথ্যে ফেরত দিন
- যখন i
- যদি S[i] T[j] এর মত না হয়, তাহলে
- যদি গণনা 1 এর সমান হয়, তাহলে
- মিথ্যে ফেরত দিন
- যদি m
- j :=j + 1
- অন্যথায় যখন m> n, তারপর
- i :=i + 1
- অন্যথায়,
- i :=i + 1, j :=j + 1
- গণনা :=গণনা + 1
- যদি S[i] T[j] এর মত না হয়, তাহলে
- i :=i + 1, j :=j + 1
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
উদাহরণ
শ্রেণীর সমাধান:def solve(self, S, T):m, n =len(S), len(T) i, j =0, 0 count =0 যদি abs(m - n)> 1:রিটার্ন False while in:i +=1 else:i +=1 j +=1 গণনা +=1 অন্য:i +=1 j +=1 রিটার্ন Trueob =Solution()S ="hello" T ="hallo"print(ob.solve(S, T))প্রে> ইনপুট
"হ্যালো", "হ্যালো"আউটপুট
সত্য