题目内容:
分析:
由于确保可以最终到达最后一个位置,所以可以只记录每一次跳跃可以到达的最远位置end,当end>len(nums)-1则结束循环。每次只需要在新可以跳到的位置上再次跳跃即可。
class Solution:
def jump(self, nums: List[int]) -> int:
n=len(nums)
start,end=0,0
ans=0
while end<n-1:
for i in range(start,end+1):
if i+nums[i]>=end:
end=i+nums[i]
start=ans
ans+=1
return ans