মান ল করুন 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