思路:从后向前遍历index从(len - 1 -1)到 0,默认跳跃距离为dis=1;当前元素能够到达最后位置,则截掉最后一位;不能到达则dis+1,继续向前遍历,直到找到能到达的点,dis重置1。遍历最后找不到则返回false。
public static boolean canJump(int[] nums) {
boolean r = true;
int dis = 1;
for (int i = nums.length - 1 - 1; i > -1 ; i--) {
if(nums[i] < dis){
dis++;
r = false;
}else {
dis = 1;
r = true;
}
}
return r;
}