Greedy BFS by "levels". Each level is the set of positions reachable in one more jump.
Track the furthest reachable position from the current level. When you've processed all positions in the current level, increment jumps and start the next level.
Key: you don't need to track which exact position you're at. Just track the reachable range.