class Solution {
public boolean canJump(int[] nums) {
int last = nums.length - 1;
int maxReach = 0;
for (int i = 0; i < nums.length; i++) {
if (i <= maxReach) {
maxReach = Math.max(maxReach, i + nums[i]);
}
if (maxReach >= last ) return true;
}
return false;
}
}
从下标为0的位置开始,可知该处最大的到达范围,在之后的遍历中,满足之前的最大到达范围后,尝试更新最大范围。3421 下标为1的内容为4,其最大可以到5就比单纯的3远。