```
public class Solution {
public boolean canJump(int[] nums) {
if(nums.length < 2) return true;
if(nums[0] == 0) return false;
int i = 1;
int coverage = nums[0];
while(i < nums.length - 1) {
coverage = Math.max(coverage - 1, nums[i]);
if(coverage <= 0) return false;
++i;
}
return true;
}
}
```