跳转至

LC45 - 跳跃游戏 II

JumpGameII.go
package Greedy

func jump(nums []int) int {
    cnt, cur, next := 0, 0, 0
    // cnt : 步数
    // cur :  cnt     步能够达到的最远位置
    // next : cnt + 1 步能够达到的最远位置
    for i := 0; i < len(nums); i++ {
        if cur < i {
            cnt++
            cur = next
        }
        next = max(next, i+nums[i])
    }
    return cnt
}