给定一个非负整数数组 nums
,你最初位于数组的 第一个下标 。
数组中的每个元素代表你在该位置可以跳跃的最大长度。
判断你是否能够到达最后一个下标。
class Solution {
public boolean canJump(int[] nums) {
int n = nums.length;
//更新最右侧能到达的位置
int right = 0;
for(int left = 0;left <= right;left++){
//第left个元素最多可以到位置left + nums[left]
int temp = left + nums[left];
right = Math.max(right,temp);
if(right >= n - 1){
return true;
}
}
return false;
}
}
执行用时:2 ms, 在所有 Java 提交中击败了94.42%的用户
内存消耗:41.5 MB, 在所有 Java 提交中击败了82.75%的用户