cur,last分别表示当前这一步,上一步能到达的最大下标位置 如果当前下标i>last: 步数加1 更新last=cur否则:更新cur 由于假设能到最后位置,所以省去了判断是否能到。 class Solution: def jump(self, nums): """ :type nums: List[int] :rtype: int """ n=len(nums) cur=last=step=0 for i in range(n): if i>last: step+=1 last=cur cur=max(cur,i+nums[i]) return step