给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。

数组中的每个元素代表你在该位置可以跳跃的最大长度。

判断你是否能够到达最后一个下标。

思路

  1. 遍历,记录当前可达的最远下标 farthest
  2. 若当前下标大于 farthest 返回 false
1
2
3
4
5
6
7
8
9
10
var canJump = function (nums) {
let farthest = 0
for (let i = 0; i < nums.length; ++i) {
if (farthest < i) {
return false
}
farthest = Math.max(farthest, nums[i] + i)
}
return true
}