# 55. 跳跃游戏
// 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。
// 数组中的每个元素代表你在该位置可以跳跃的最大长度。
// 判断你是否能够到达最后一个下标。
var canJump = function(nums) {
if (nums.length <= 1) return true;
const length = nums.length;
let maxStep = 0;
for (let i = 0; i < length; i++) {
if (i <= maxStep) {
maxStep = Math.max(maxStep, i + nums[i]);
if (maxStep > length - 1) return true;
}
}
return false;
};
console.log(canJump([2, 3, 1, 1, 4]));
console.log(canJump([0]));
console.log(canJump([3, 2, 1, 0, 4]));
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21