55. Jump Game
题目简介
/**
* @param {number[]} nums
* @return {boolean}
*/
题目给我们一个数字数组 nums 数组元素代表如果站在这一个元素上最多可以往前跳几格
我们一开始在下标 0 的元素上,题目要求我们判断我们是否可以跳到最后的元素上
解题思路
由于题目的约束是最多可以往前跳几格,所以我们只需要尽可能的往前跳就完事了
这就需要用到贪心的思路了,我们每次都尽可能的往前跳,直到无法再往前或者超越数组末尾
Javascript
/**
* @param {number[]} nums
* @return {boolean}
*/
var canJump = function (nums) {
let cur = 0
let next = 0
while (next < nums.length-1) {
let farthest = 0
for (let i = cur; i <= next; i++) {
farthest = Math.max(farthest, i + nums[i])
}
if(next === farthest) {
return false
}
cur = next+1
next = farthest
}
return true
};