class Solution {
public int jump(int[] nums) {
int length = nums.length;
int maxPosition = 0;
int steps = 0;
int end = 0;
// for (int i = 0; i < length - 1 && i <= maxPosition; i++) {//题目默认能跳到最后位置
while(maxPosition < nums.length - 1){//到达末尾条件
for (int i = 0; i < length - 1; i++) {
maxPosition = Math.max(maxPosition, i + nums[i]);
if(i == end){//每次移动到一个边界,步数+1
end = maxPosition;
steps++;
}
}
}
return steps;
}
}