কম্পিউটার টিউটোরিয়াল

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


মান ল করুন nums নামের একটি অ্যারে যেখানে সব উপাদান পজিটিভ। আমরা ইনডেক্স ০-এ আছি। এখানে অ্যারের প্রতিটি এলিমেন্ট সেটি পজিশনে আমাদের সর্বোচ্চ জাম্প লেথ বোঝায়। লক্ষ্য হল ফাইনাল ইনডেক্স (n-1, যেখানে n হল nums-এর আকার) কম সংখ্যক জাম্প দিয়ে পৌঁছানো। যেমন অ্যারে [2,3,1,1,4] হলে আউটপুট ২, কারণ ইনডেক্স ০ থেকে ১-এ জাম্প, তারপর ৪-এ (শেষ ইনডেক্স)।

এটি সমাধান করতে আমরা নিম্নলিখিত ধাপগুলি অনুসরণ করব:

  • end := 0, jumps := 0, farthest := 0
  • i কে ০ থেকে nums-এর দৈর্ঘ্য - ১ পর্যন্ত লুপ চালান:
    • farthest := max(farthest, nums[i] + i)
    • যদি i == end এবং i != nums-এর দৈর্ঘ্য - ১, তবে jumps := jumps + 1, end := farthest
  • jumps ফেরত দিন

বेहतर বোঝার জন্য নিচের ইমপ্লিমেন্টেশনটি দেখুন:

উদাহরণ

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. Python দিয়ে সব নোডে পৌঁছাতে মিনিমাম ভার্টেক্স বের করার প্রোগ্রাম

  3. পাইথনে শতর্ঞ্জের ঘোড়া (knight) দিয়ে টার্গেট পজিশনে যেতে ন্যূনতম স্টেপ বের করার প্রোগ্রাম

  4. পাইথনে স্ট্রিং s-কে পরিবর্তন করে t কে সাবস্ট্রিং बनानेয় ন্যূনতম অপারেশন বের করার প্রোগ্রাম