Jump Game VII is an exciting path-finding challenge! You're given a binary string s where '0' represents safe ground and '1' represents dangerous terrain. Starting at index 0 (which is always '0'), you need to reach the last index of the string.

However, there are jump constraints: from any position i, you can only jump to position j if:
• The jump distance is between minJump and maxJump (inclusive)
• The destination s[j] is '0' (safe ground)

Goal: Return true if you can reach the final index, false otherwise.

Example: s = "011010", minJump = 2, maxJump = 3
From index 0 → can jump to indices 2,3 → from index 3 → can jump to index 5 ✅

Input & Output

example_1.py — Basic Jump
$ Input: s = "011010", minJump = 2, maxJump = 3
Output: true
💡 Note: Starting at index 0, we can jump to index 2 or 3 (both are '0'). From index 3, we can jump to index 5 (which is '0' and the last index). Path: 0 → 3 → 5.
example_2.py — Impossible Jump
$ Input: s = "01101110", minJump = 2, maxJump = 3
Output: false
💡 Note: From index 0, we can reach indices 2 and 3. From index 2, we can reach indices 4 and 5, but both are '1'. From index 3, we can reach indices 5 and 6, but both are '1'. No path exists to reach index 7.
example_3.py — Edge Case
$ Input: s = "0", minJump = 1, maxJump = 1
Output: true
💡 Note: The string has only one character, and we start at index 0, which is already the last index. Therefore, we can reach the end.

Visualization

Tap to expand
River Stone Hopping Challenge0START10010GOALSliding Window TechniqueEfficiently track reachable stonesin valid jumping range🎯 Key Insight: Use sliding window to track reachable positions in O(1) per step
Understanding the Visualization
1
Survey the River
Identify safe stones ('0') and dangerous stones ('1')
2
Track Jump Range
Maintain awareness of positions we can reach with current jump limits
3
Make Optimal Jumps
Use sliding window to efficiently determine next reachable positions
4
Reach the Goal
Successfully cross if we can reach the final stone
Key Takeaway
🎯 Key Insight: The sliding window technique transforms an O(n²) problem into O(n) by efficiently maintaining a count of reachable positions within the valid jumping range, avoiding redundant position checks.

Time & Space Complexity

Time Complexity
⏱️
O(n)

Single pass through the string with O(1) operations per position

n
2n
Linear Growth
Space Complexity
O(1)

Only using a few variables to track the sliding window

n
2n
Linear Space

Constraints

  • 1 ≤ s.length ≤ 105
  • s[i] is either '0' or '1'
  • s[0] == '0'
  • 1 ≤ minJump ≤ maxJump < s.length
Asked in
Google 32 Amazon 28 Meta 24 Microsoft 18
67.2K Views
Medium Frequency
~25 min Avg. Time
1.8K 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