কম্পিউটার

ন্যূনতম সংখ্যক বাস খুঁজে বের করার প্রোগ্রামটি পাইথনের সমস্ত স্টপের মধ্য দিয়ে যেতে হবে


ধরুন আমাদের কাছে সংখ্যা নামক সংখ্যার একটি তালিকা রয়েছে এবং এটি একটি লাইনে বাস স্টপগুলি দেখাচ্ছে যেখানে সংখ্যাগুলি দেখায় যে একটি বাস স্টেশন i এ পৌঁছাতে হবে। এখন যেহেতু বাসগুলি কেবলমাত্র এগিয়ে যেতে পারে, তাই আমাদের ন্যূনতম সংখ্যক বাসগুলি খুঁজে বের করতে হবে যা সমস্ত স্টপের মধ্য দিয়ে যেতে হবে৷

সুতরাং, যদি ইনপুটটি সংখ্যার মত হয় =[1, 2, 7, 9, 3, 4], তাহলে আউটপুট হবে 2, যেমন একটি বাস স্টপ নিতে পারে [1, 2, 3, 4] এবং অন্যটি করতে পারে [ 7, 9]।

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

  • উত্তর :=0

  • দেখা :=একটি তালিকা যার দৈর্ঘ্য সংখ্যার সমান এবং প্রাথমিকভাবে মিথ্যা দিয়ে ভরা

  • প্রতিটি সূচক i এবং অনুরূপ n সংখ্যার জন্য, করুন

    • যদি দেখা যায়[i] মিথ্যা, তাহলে

      • দেখা[i] :=সত্য

      • ans :=ans + 1

      • পূর্ববর্তী :=n

      • j রেঞ্জ i+1 থেকে সংখ্যার আকারের জন্য, করুন

        • যদি nums[j]> prev এবং দেখা [j] মিথ্যা হয়, তাহলে

          • দেখা [j] :=সত্য

          • পূর্ববর্তী :=সংখ্যা[j]

  • উত্তর ফেরত দিন

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

উদাহরণ

class Solution:
   def solve(self, nums):
   ans = 0
   seen = [False] * len(nums)
   for i, n in enumerate(nums):
      if not seen[i]:
         seen[i] = True
         ans += 1
         prev = n
   for j in range(i+1, len(nums)):
      if nums[j] > prev and not seen[j]: seen[j] = True
         prev = nums[j]
   return ans
ob = Solution()
nums = [1, 2, 7, 9, 3, 4]
print(ob.solve(nums))

ইনপুট

[1, 2, 7, 9, 3, 4]

আউটপুট

2

  1. পাইথন ব্যবহার করে সমস্ত নোডে পৌঁছানোর জন্য ন্যূনতম সংখ্যক শীর্ষবিন্দু খুঁজে বের করার প্রোগ্রাম

  2. পাইথনে শেষ অবস্থানে পৌঁছানোর জন্য প্রয়োজনীয় ন্যূনতম সংখ্যক হপ খুঁজে বের করার প্রোগ্রাম

  3. পাইথনে এক নম্বর থেকে অন্য নম্বর তৈরি করার জন্য প্রয়োজনীয় ন্যূনতম সংখ্যক অপারেশন খুঁজে বের করার প্রোগ্রাম

  4. পাইথনে একটি স্ট্রিং সাবস্ট্রিং অন্যটির জন্য প্রয়োজনীয় ন্যূনতম সংখ্যক অপারেশন খুঁজে বের করার প্রোগ্রাম