class Solution:
def jump(self, nums: List[int]) -> int:
n = len(nums)
res = 0
max_distance = 0
cur = 0
#这个i的含义是还要往后跳的当前位置,当位于n-1时,已经是最后一个位置,不跳了
#如果当前cur已经是n-1,但还要继续遍历i=n-1那么,res就会再加1,结果多了1
for i in range(n-1):
max_distance = max(max_distance,i+nums[i])
#当前步结束,不用管是哪一步跳跃到达的最远距离,反正经过这几步就能到达
if i == cur:
cur = max_distance
res += 1
return res
45. 跳跃游戏 II
最新推荐文章于 2024-03-13 16:01:57 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)