55 跳跃游戏
给定一个非负整数数组,你最初位于数组的第一个位置。
数组中的每个元素代表你在该位置可以跳跃的最大长度。
判断你是否能够到达最后一个位置。
示例 1:
输入: [2,3,1,1,4]
题解
这题关键点在于目前最远能够跳到哪里,比如说[2,3,1,1,4]这个,处于0位置时最远能够跳到2的位置。那么1,2这些位置都是可达区域。如果站在1的位置,那么此时最远能够跳到4的位置。那么到2的位置,最远可跳到的位置是3。综合判断来说,1-4的位置目前都可以跳。
题解如下:
javascript
var canJump = function (nums) {
//保存现在最远能跳到哪里
let maxmaxIndex = nums[0]
for(let i=1;i<nums.length;i++) {
//如果在可跳范围之内,更新最远可跳到哪里
if(maxmaxIndex >=i) {
const currentMax = nums[i] + i
maxmaxIndex = Math.max(maxmaxIndex, currentMax)
} else {
//否则,跳不过去了
return false
}
}
return true
}