Problems / Jump Game II
Hard

Jump Game II

Hard 0 submissions 50 coins +200 XP
Array Dynamic Programming
Problem Description
## Problem You are given a **0-indexed** array of integers `nums` of length `n`. You are initially positioned at `nums[0]`. Each element `nums[i]` represents the maximum length of a forward jump from index `i`. In other words, if you are at `nums[i]`, you can jump to any `nums[i + j]` where: - `0 <= j <= nums[i]` - `i + j < n` Return the **minimum number of jumps** to reach `nums[n - 1]`. The test cases are generated such that you can reach `nums[n - 1]`. ## Examples **Example 1:** ``` Input: nums = [2,3,1,1,4] Output: 2 Explanation: Jump 1 step from index 0 to 1, then 3 steps to the last index. ``` **Example 2:** ``` Input: nums = [2,3,0,1,4] Output: 2 ``` **Example 3:** ``` Input: nums = [1,2,1,1,1] Output: 3 Explanation: 0 -> 1 -> 3 -> 4 ``` ## Approach Hints Use a greedy approach: maintain `curEnd` (the farthest index reachable with current number of jumps) and `farthest` (the farthest index reachable with one more jump). When you reach `curEnd`, increment jumps and set `curEnd = farthest`.
Constraints
- `1 <= nums.length <= 10000` - `0 <= nums[i] <= 1000` - The generated input guarantees you can reach `nums[n - 1]`.

Need help?

Connect with expert programmers for real-time collaborative coding, video meetings, and whiteboard sessions via CodeConnect.

Video Call Whiteboard Live Coding Screen Share