Jump Game II

Posted wenqinchao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jump Game II相关的知识,希望对你有一定的参考价值。

问题:给定一个非负的数组,数组中的元素值代表可以移动的距离,输出从数组起始位置到最后一个位置需要的最小移动次数

示例:

输入:[2,3,1,1,4]

输出:2

解决思路:遍历数组,从起始位置开始,考察该位置最大移动距离内的元素,找到这些元素中可移动到最远处的元素

Python代码:

class Solution(object):
    def jump(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        end = 0
        max_jump = 0
        times = 0
        for i in range(len(nums)-1):
            max_jump = max(max_jump,nums[i]+i)
            if i == end:
                end = max_jump
                times += 1
        return times

 

以上是关于Jump Game II的主要内容,如果未能解决你的问题,请参考以下文章

55 Jump Game i && 45 Jump Game ii

45. Jump Game II

55. 45. Jump Game II *HARD*

LintCode : Jump Game II

45. Jump Game II

45. Jump Game II