思路:从后往前读数组,如果读到0,则判断距离此0位置是否有数大于此距离(如果该0恰好在最后一位,则距离只要大于等于即可)
GitHub地址:https://github.com/corpsepiges/leetcode
public class Solution {
public boolean canJump(int[] nums) {
int k=-1;
int tar=-1;
for (int i = nums.length-1; i>=0 ; i--) {
if (k==-1&&nums[i]==0) {
k=0;
tar=i;
}
if (k==0) {
if(tar==nums.length-1&&nums[i]>=tar-i){
k=-1;
}
if (nums[i]>tar-i) {
k=-1;
}
}
}
if (k==-1) {
return true;
}else {
return false;
}
}
}