Skip to main content
LeetCode 1871, Medium. Topics: String, Dynamic Programming, Sliding Window, Prefix Sum. View on LeetCode. Generate this problem as a practice environment: tested reference solution, 15 parametrized pytest cases, and a playground notebook:

Problem

You are given a 0-indexed binary string s and two integers minJump and maxJump. In the beginning, you are standing at index 0, which is equal to '0'. You can move from index i to index j if the following conditions are fulfilled:
  • i + minJump <= j <= min(i + maxJump, s.length - 1), and
  • s[j] == '0'.
Return true if you can reach index s.length - 1 in s, or false otherwise.

Examples

Constraints

  • 2 <= s.length <= 10^5
  • s[i] is either ‘0’ or ‘1’.
  • s[0] == ‘0’
  • 1 <= minJump <= maxJump < s.length

Solution

Reference implementation from solution.py on GitHub, full suite in test_solution.py:

Complexity

Tags

NeetCode 250, NeetCode All.
Last modified on August 25, 2026