কম্পিউটার

পাইথনে প্রায় একই রকম শব্দের কোন জোড়া আছে কিনা তা পরীক্ষা করার জন্য প্রোগ্রাম


ধরুন আমাদের কাছে শব্দ বলা ছোট হাতের স্ট্রিংগুলির একটি তালিকা রয়েছে যেখানে প্রতিটি শব্দ একই দৈর্ঘ্যের। আমাদের পরীক্ষা করতে হবে এমন দুটি স্ট্রিং আছে যা শুধুমাত্র একটি অক্ষরের মধ্যে আলাদা।

সুতরাং, যদি ইনপুটটি শব্দের মত হয় =["বীজ", "পিক", "লিক", "রুট", "লাইভ"], তাহলে আউটপুট হবে True, যেহেতু "pick" এবং "lick" প্রায় একই।

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

  • s :=একটি নতুন সেট
  • শব্দে প্রতিটি শব্দের জন্য, করুন
    • প্রতিটি সূচক i এবং শব্দের w শব্দের জন্য, করুন
      • যদি [সূচী 0 থেকে i - 1 পর্যন্ত] শব্দের সাবস্ট্রিং [সূচী 0 থেকে i - 1] concatenate "*" concatenate শব্দ [index i + 1 থেকে শেষ পর্যন্ত] s থাকে, তাহলে
        • সত্য ফেরান
      • অন্যথায়,
        • সন্নিবেশ করান (শব্দ [সূচী ০ থেকে i-1 পর্যন্ত] সংযুক্ত করুন "*" সংযোজিত শব্দ [সূচি i + 1 থেকে শেষ পর্যন্ত]) s এ
  • মিথ্যে ফেরত দিন

উদাহরণ

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

def solve(words):
   s = set()
   for word in words:
      for i, w in enumerate(word):
         if word[:i] + "*" + word[i + 1 :] in s:
            return True
         else:
            s.add(word[:i] + "*" + word[i + 1 :])

   return False

words = ["seed", "pick", "lick", "root", "live"]
print(solve(words))

ইনপুট

["seed", "pick", "lick", "root", "live"]

আউটপুট

True

  1. দুটি সিকোয়েন্স একই কিনা তা পরীক্ষা করার জন্য C# প্রোগ্রাম

  2. একটি গ্রাফে কোনো সাধারণ পৌঁছানো যোগ্য নোড আছে কিনা তা পরীক্ষা করার জন্য প্রোগ্রাম পাইথনে নেই

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

  4. একটি বাইনারি সংখ্যায় K ধারাবাহিক 1 আছে কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম?