45. 跳跃游戏II

问题链接

https://leetcode.cn/problems/jump-game-ii/

解题思路

这个题目,乍一看挺难,其实我们想一下就可以知道,我们如果从后往前推,有潜质跳到最后一个数字的格子,且有潜质跳跃次数最短的,应该是所有符合条件的格子中最靠左的。

根据这个结论,我们可以用贪心思想,不断去找最靠左的格子进行跳跃。

代码

class Solution:
    def jump(self, nums) -> int:
        idx = len(nums) - 1
        res = 0
        while idx > 0:
            for i in range(idx):
                if i + nums[i] >= idx:
                    idx = i
                    res += 1
                    break
        return res

 

posted @ 2023-01-10 21:30  BJFU-VTH  阅读(15)  评论(0编辑  收藏  举报