কম্পিউটার

পাইথনে দুটি শব্দের মধ্যে সবচেয়ে ছোট দূরত্ব


ধরুন আমাদের দুটি স্ট্রিং আছে, word0, এবং word1 এবং একটি টেক্সট। প্রদত্ত টেক্সটে word0 এবং word1-এর যেকোনো দুটি ঘটনার মধ্যে আমাদের ক্ষুদ্রতম দূরত্ব খুঁজে বের করতে হবে। এখানে দূরত্ব পরিমাপ করা হয় শব্দের সংখ্যায়। যদি তারা পাঠ্যটিতে উপস্থিত না থাকে তবে -1 ফেরত দিন।

সুতরাং, যদি ইনপুটটি পাঠ্য ="বিড়াল কুকুর abcd dog cat abcd dog wxyz", word0 ="abcd", word1 ="wxyz" এর মত হয়, তাহলে আউটপুট হবে 1, কারণ "কুকুর" এর মধ্যে একটি শব্দ আছে। abcd" এবং "wxyz"

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

  • word_list :=পাঠ্য থেকে শব্দের একটি তালিকা
  • উত্তর :=শব্দ তালিকার আকার
  • L :=শূন্য
  • র জন্য রেঞ্জ 0 থেকে word_list - 1 এর আকার, করুন
    • যদি word_list[R] হয় word0 বা word_list[R] হয় word1, তাহলে
      • যদি L নাল না হয় এবং word_list[R] word_list[L] না হয়, তাহলে
        • উত্তর :=সর্বনিম্ন উত্তর এবং R - L - 1
      • L :=R
  • রিটার্ন -1 যদি উত্তরগুলি word_list এর আকারের সমান হয় অন্যথায় ans

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

উদাহরণ

class Solution:
   def solve(self, text, word0, word1):
      word_list = text.split()
      ans = len(word_list)
      L = None
      for R in range(len(word_list)):
         if word_list[R] == word0 or word_list[R] == word1:
            if L is not None and word_list[R] != word_list[L]:
               ans = min(ans, R - L - 1)
               L = R
      return -1 if ans == len(word_list) else ans
ob = Solution()
text = "cat dog abcd dog cat cat abcd dog wxyz"
word0 = "abcd"
word1 = "wxyz"
print(ob.solve(text, word0, word1))

ইনপুট

"cat dog abcd dog cat cat abcd dog wxyz", "abcd", "wxyz"

আউটপুট

1

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

  2. দুটি স্ট্রিং থেকে অস্বাভাবিক শব্দ খুঁজে পেতে পাইথন প্রোগ্রাম

  3. পাইথনে Minkowski দূরত্ব

  4. পাইথন প্রোগ্রাম দুটি তালিকার মধ্যে পার্থক্য তালিকাভুক্ত করতে।