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