55 & 45. Jump Game I & II
Input: nums = [2,3,1,1,4]
Output: true
Explanation: Jump 1 step from index 0 to 1, then 3 steps to the last index.Input: nums = [3,2,1,0,4]
Output: false
Explanation: You will always arrive at index 3 no matter what. Its maximum jump length is 0, which makes it impossible to reach the last index.public boolean canJump(int[] nums) {
int max = nums[0], len = nums.length;
if (len == 1) return true;
for (int i = 1; i < len; i++) {
if (max < i) return false; // 这一步必须先检查,看当前的位置能否到达
max = Math.max(max, i + nums[i]);
}
return max >= len - 1;
}Last updated