思路:
一步一步走,更新可以达到的最大范围。如果当前这一步不在最大范围之内就返回false。否则最后可以达到。
代码:
class Solution {
public boolean canJump(int[] nums) {
int n = nums.length;
int range = 0;
for(int i = 0; i < n; i++) {
if(i <= range) {
range = Math.max(range, i + nums[i]);
}
else {
return false;
}
}
return true;
}
}
参考: