leetcode55.跳跃游戏

max(k,i+nums[i])

func canJump(nums []int) bool {
    //核心思想:i为当前点,k为从索引0开始能跳的最距离,如果i>k说明当前点无法达到,反之能到达
    //遍历到最后一个点,如果能到达,说明可以到达最后一个下标
    k:=0
    for i:=0;i<len(nums);i++{
        if i>k{
            return false
        }
        k=max(k,i+nums[i])
    }
    return true
}

func max(x,y int) int{
    if x>y{
        return x
    }
    return y
}

Last updated