解题思路:
维护一个maxPosition即可
提交代码:
class Solution {
public boolean canJump(int[] nums) {
int maxPosition=0;
for(int i=0;i<=maxPosition;i++) {
if(i+nums[i]>maxPosition) maxPosition=i+nums[i];
if(maxPosition>=nums.length-1) return true;
}
if(maxPosition>=nums.length-1) return true;
return false;
}
}
运行结果:

本文介绍了一种解决跳跃问题的高效算法,通过维护最大可达位置变量,判断数组中是否存在一条路径,使得从起始位置到达最后一个位置成为可能。该算法在遍历过程中更新最大可达位置,一旦该位置超过数组末尾,则返回成功标志。
1106

被折叠的 条评论
为什么被折叠?



