কম্পিউটার

পাইথনে দুটি স্ট্রিংয়ের মধ্যে সম্পাদনা দূরত্ব এক কিনা তা পরীক্ষা করুন


ধরুন আমাদের দুটি স্ট্রিং s এবং t আছে। আমাদের পরীক্ষা করতে হবে যে s এবং t এর মধ্যে সম্পাদনা দূরত্ব ঠিক এক কি না। এখানে দুটি স্ট্রিং-এর মধ্যে সম্পাদনা মানে এই তিনটির যে কোনো একটি -

  • একটি অক্ষর সন্নিবেশ করান
  • একটি অক্ষর মুছুন
  • একটি অক্ষর প্রতিস্থাপন করুন

সুতরাং, যদি ইনপুটটি s ="hello" t ="heillo" এর মত হয়, তাহলে আউটপুটটি True হবে কারণ t পেতে আমাদের s-এ একটি অক্ষর সন্নিবেশ করতে হবে।

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • যদি |s এর আকার - t এর আকার |> 1, তারপর
    • মিথ্যে ফেরত দিন
  • edit_dist_cnt :=0, i :=0, j :=0
  • যখন i
  • যদি s[i] t[j] এর মত না হয়, তাহলে
    • যদি edit_dist_cnt 1 এর মত হয়, তাহলে
      • মিথ্যে ফেরত দিন
    • যদি s এর সাইজ হয়> t এর সাইজ, তাহলে
      • i :=i + 1
    • অন্যথায় যখন s এর আকার
    • j :=j + 1
  • অন্যথায়,
    • i :=i + 1, j :=j + 1
  • edit_dist_cnt :=edit_dist_cnt + 1
  • অন্যথায়,
    • i :=i + 1, j :=j + 1
  • যদি i
  • edit_dist_cnt :=edit_dist_cnt + 1
  • সত্য ফেরত দিন যখন edit_dist_cnt 1 এর মত হয়, অন্যথায় মিথ্যা
  • উদাহরণ

    আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

    def solve(s, t):
       if abs(len(s) - len(t)) > 1:
          return false
       edit_dist_cnt = 0
       i = 0
       j = 0
       while i < len(s) and j < len(t):
          if s[i] != t[j]:
             if edit_dist_cnt == 1:
                return false
             if len(s) > len(t):
                i += 1
             elif len(s) < len(t):
                j += 1
             else:
                i += 1
                j += 1
             edit_dist_cnt +=1
          else:
             i += 1
             j += 1
       if i < len(s) or j < len(t):
          edit_dist_cnt += 1
       return edit_dist_cnt == 1
    s = "hello"
    t = "heillo"
    print(solve(s, t))

    ইনপুট

    "hello", "heillo"

    আউটপুট

    True

    1. পাইথনে একটি বাইনারি গাছে দুটি নোডের মধ্যে দূরত্ব খুঁজে বের করার জন্য প্রোগ্রাম

    2. লেক্সিকোগ্রাফিক ক্রমে একটি স্ট্রিং খুঁজুন যা পাইথনে প্রদত্ত দুটি স্ট্রিংয়ের মধ্যে রয়েছে

    3. পাইথনে দুটি ত্রিভুজের একত্রীকরণ পরীক্ষা করার জন্য প্রোগ্রাম

    4. দুটি তালিকায় অন্তত একটি সাধারণ উপাদান আছে কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম