class Solution:
    def jump(self , A):
    	maxpos = 0
    	cur = 0  # 表示当前所在位置,可能会表示数组不存在的位置
    	step = 0
    	for i in range(len(A) - 1):  # 第一次循环,i与end都为0,所以一定会进行跳跃,最后一个位置不需要跳跃,所以不需要遍历到最后一个位置
    		maxpos = max(maxpos, A[i] + i)  # 统计当前能跳跃到的最远位置
    		if i == end:  # 第一次循环,跳跃到下标为A[0]的位置(贪心),在以后的循环中,当i再次与cur相等时,说明需要再次跳跃
    			step += 1
    			cur = maxpos  # 跳跃到当前能跳跃到的最远位置,不一是依据A[当前位置]进行跳跃
    	return step