问题
给定一个非负整数数组,你最初位于数组的第一个位置。
数组中的每个元素代表你在该位置可以跳跃的最大长度。
判断你是否能够到达最后一个位置。
例子
思路
-
方法1
$$$$
-
方法2
$$$$
代码
//方法1
class Solution {
public boolean canJump(int[] nums) {
if(nums.length==0) return true;
//能到达的最后位置的第一个位置
int last=nums.length-1;
for(int i=nums.length-2; i>=0; i--) {
if(i+nums[i]>=last) last=i;
}
return last==0;
}
}
//方法2