参考了答案,遍历整个数组,同时用一个变量记录可以到达的最远距离ans=Math.max(ans,i+nums[i]);遍历结束后如果可以到达的最远距离大于等于数组长度减一(从零开始的)则可以到达最后一个下标。
code
class Solution {
public boolean canJump(int[] nums) {
int ans=0;//最远可达
for(int i=0;i<nums.length;i++){
if(ans>=i){
ans=Math.max(ans,i+nums[i]);
}else{
break;
}
}
if(ans>=nums.length-1) return true;
return false;
}
}
标签:max,return,nums,int,18,ans,跳跃,day,Math
From: https://blog.csdn.net/qq_53568730/article/details/136652986