其实只需要遍历一遍数组,时刻更新可以最远的index,因为每一个记录的是从此处可以跳的最远步数,所以当index+可跳的步数大于数组长度即为true
class Solution {
public boolean canJump(int[] nums) {
int max_index=0;
int index =0;
while (index <= max_index){
if (index + nums[index]> max_index){
max_index = index + nums[index];
}
if (max_index>= nums.length-1){
return true;
}
index++;
}
return false;
}
}