কম্পিউটার

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


ধরুন আমাদের একটি অ্যারে সংখ্যা আছে, যেখানে সমস্ত উপাদান ইতিবাচক। আমরা সূচক 0 এ আছি। এখানে, অ্যারের প্রতিটি উপাদান সেই অবস্থানে আমাদের সর্বোচ্চ লাফ দৈর্ঘ্য উপস্থাপন করে। আমাদের লক্ষ্য হল চূড়ান্ত সূচকে পৌঁছানো (n-1, যেখানে n সংখ্যার আকার) কম সংখ্যক লাফ দিয়ে। সুতরাং যদি অ্যারেটি [2,3,1,1,4] এর মত হয়, এবং তারপরে আউটপুট হবে 2, যেমন আমরা 0 থেকে সূচক 1 এ যেতে পারি, তারপর 4 সূচকে যেতে পারি, এটিই শেষ সূচক। পি>

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

  • শেষ :=0, জাম্প :=0, দূরতম :=0
  • আমি পরিসীমা 0 থেকে সংখ্যার দৈর্ঘ্য - 1
    • দূরতম :=দূরতম এবং সংখ্যার সর্বোচ্চ [i] + i
    • যদি i শেষ হয়, এবং i সংখ্যার দৈর্ঘ্য না হয় – 1, তাহলে
      • জাম্প 1 দ্বারা বৃদ্ধি করুন
      • শেষ :=দূরতম
  • রিটার্ন জাম্প

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

উদাহরণ

class Solution(object):
   def jump(self, nums):
      end = 0
      jumps = 0
      farthest = 0
      for i in range(len(nums)):
         farthest = max(farthest,nums[i]+i)
         if i == end and i != len(nums)-1:
            jumps+=1
            end = farthest
      return jumps
ob = Solution()
print(ob.jump([3, 4, 3, 0, 1]))

ইনপুট

[3, 4, 3, 0, 1]

আউটপুট

2

  1. পাইথনের প্রতিটি অবস্থানে পৌঁছানোর জন্য একটি দাবা অংশের জন্য ন্যূনতম সংখ্যক চাল খুঁজে বের করার প্রোগ্রাম

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

  3. পাইথনে একজন দাবা নাইট দ্বারা লক্ষ্য অবস্থানে পৌঁছানোর ন্যূনতম পদক্ষেপগুলি খুঁজে বের করার প্রোগ্রাম

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