Skip to content
On this page

跳跃游戏

Question

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

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

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

image-20230617191319869

思路

解题关键在于:当且仅当该位置最大跳跃长度大于我目前的最大跳跃长度,我才跳到这个位置,不然我就往下寻找

寻找过程中不断更新我的剩余跳跃长度

js
var canJump = function(nums) {
    let max = nums[0]	//最大跳跃长度
    let cur = 0			//当前所处位置
    for(let i=1; i<nums.length; i++){
        max--			//关键!!寻找过程中更新我的剩余跳跃长度
        if(max<0) return false
        if(nums[i]>max){
            max = nums[i]	
            cur = i
        }
    }
    return true
};