Jump Game II - Problem

You are given a 0-indexed array of integers nums of length n. You are initially positioned at index 0.

Each element nums[i] represents the maximum length of a forward jump from index i. In other words, if you are at index i, you can jump to any index (i + j) where:

  • 0 <= j <= nums[i] and i + j < n

Return the minimum number of jumps to reach index n - 1.

The test cases are generated such that you can reach index n - 1.

Input & Output

Example 1 — Basic Case
$ Input: nums = [2,3,1,1,4]
Output: 2
💡 Note: Jump from index 0 to 1, then jump from index 1 to the last index. Total: 2 jumps.
Example 2 — Larger Jumps
$ Input: nums = [2,3,0,1,4]
Output: 2
💡 Note: Jump from index 0 to 1 (or 2), then jump to index 4. Minimum is still 2 jumps.
Example 3 — Single Element
$ Input: nums = [1]
Output: 0
💡 Note: Already at the last index, so 0 jumps needed.

Constraints

  • 1 ≤ nums.length ≤ 104
  • 0 ≤ nums[i] ≤ 1000
  • It's guaranteed that you can reach nums[n - 1]

Visualization

Tap to expand
Jump Game II: Find Minimum Jumps to Reach End23114Start (0)Index 1Index 2Index 3End (4)Jump 1Jump 2Optimal path: 0 → 1 → 4 (2 jumps)Output: 2
Understanding the Visualization
1
Input Array
Array where each element shows max jump distance from that position
2
Find Path
Determine minimum number of jumps to reach the last index
3
Output
Return the minimum jump count
Key Takeaway
🎯 Key Insight: Use greedy strategy to jump to positions that maximize future reachability
Asked in
Google 45 Amazon 38 Microsoft 32 Facebook 28
65.0K Views
High Frequency
~25 min Avg. Time
2.1K Likes
Ln 1, Col 1
Smart Actions
💡 Explanation
AI Ready
💡 Suggestion Tab to accept Esc to dismiss
// Output will appear here after running code
Code Editor Closed
Click the red button to reopen