跳到主要内容

55. 跳跃游戏

55. 跳跃游戏

这题是贪心算法

func canJump(nums []int) bool {
maxStep := 0
// 因为能移动的最远距离是 maxStep,所以以 maxStep 来循环
for i := 0; i <= maxStep; i++ {
maxStep = max(nums[i] + i, maxStep)
// 下标是从零开始的,所以要减一
if maxStep >= len(nums) - 1 {
return true
}
}

return false
}

func max(a, b int) int {
if a > b {
return a
}
return b
}