class Solution:
def jump(self, nums: List[int]) -> int:
max_pos, end, step = 0,0,0
for i in range(len(nums)-1):
# 算 max_pos 以内的点的最大值
if i <= max_pos:
max_pos = max(max_pos, nums[i] + i)
if i == end: # 说明到了边界点
end = max_pos # 更新下一次边界点
step+=1
return step