কম্পিউটার

পাইথনে একটি পাঠ্যে দুটি প্রদত্ত শব্দের ন্যূনতম দূরত্ব খুঁজে বের করার প্রোগ্রাম


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

সুতরাং, যদি ইনপুটটি টেক্সট ="আনন্দ সুখী শক্তি সুখী আনন্দের শক্তি সুখী সীমা" w1 ="শক্তি" w2 ="সীমা" এর মত হয়, তাহলে আউটপুট হবে 1, কারণ এর মধ্যে শুধুমাত্র একটি শব্দ "সুখী" আছে শক্তি এবং সীমা।

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

  • index1 :=null, index2 :=null

  • দূরত্ব :=999999

  • প্রতিটি সূচক আইডিএক্স এবং টেক্সটে শব্দ w এর জন্য, করুন

    • যদি w1 এর মত হয়, তাহলে

      • যদি index2 শূন্য না হয়, তাহলে

        • দূরত্ব :=সর্বনিম্ন দূরত্ব এবং (|idx - index2| - 1)

      • index1 :=idx

    • যদি w2 এর মত হয়, তাহলে

      • যদি index1 শূন্য না হয়, তাহলে

        • দূরত্ব :=সর্বনিম্ন দূরত্ব এবং (|idx - index1| - 1)

      • index2 :=idx

  • যদি index1 নাল না হয় এবং index2 নাল না হয়, তাহলে

    • ফেরত দূরত্ব

  • রিটার্ন -1

উদাহরণ

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

def solve(text, w1, w2):
   index1 = None
   index2 = None
   distance = 2000000
   for idx, word in enumerate(text.split(" ")):
      if word == w1:
         if index2 is not None:
            distance = min(distance, abs(idx - index2) - 1)
         index1 = idx
      if word == w2:
         if index1 is not None:
            distance = min(distance, abs(idx - index1) - 1)
         index2 = idx
   if index1 is not None and index2 is not None:
      return distance
   return -1

text = "joy happy power happy joy joy power happy limit"
w1 = "power"
w2 = "limit"
print(solve(text, w1, w2))

ইনপুট

"joy happy power happy joy joy power happy limit", "power", "limit"

আউটপুট

1

  1. প্রদত্ত অ্যারে থেকে k দৈর্ঘ্যের অ্যারে খুঁজে বের করার প্রোগ্রাম যার অন্যায়তা পাইথনে সর্বনিম্ন

  2. পাইথনে প্রদত্ত দুটি স্ট্রিংয়ের সাধারণ বিশেষ সাবস্ট্রিংয়ের আকার খুঁজে বের করার প্রোগ্রাম

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

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