AlgoPrecision

Greedy

Local Choice Visualizer

Watch greedy strategies sort, scan, select, merge, and reset state while each step updates the current result and complexity.

O(n) time / O(1) space
result: farthest 0selected: 0
idx 0default

2

reach 2

idx 1default

3

reach 4

idx 2default

1

reach 3

idx 3default

1

reach 4

idx 4default

4

reach 8

Result

farthest 0

Time

O(n)

Space

O(1)

Step Note

Track the farthest reachable index.

Details
function canJump(values: number[]) {
  let farthest = 0
  for (let index = 0; index < values.length; index++) {
    if (index > farthest) return false
    farthest = Math.max(farthest, index + values[index])
    if (farthest >= values.length - 1) return true
  }
  return true
}