- 跳跃游戏 II
java
class Solution {
public int jump(int[] nums) {
int cur = 0;//当前最大覆盖路径
int next = 0;//下一步的最大覆盖路径
int res = 0;//存放结果,到达终点时最少的跳跃步数
for (int i = 0; i < nums.length; i++) {//遍历数组,以给出数组以一个元素往后遍历
next = Math.max(i + nums[i], next);//遍历数组时,先进行当前元素的下一步覆盖最大路径计算
if (i == cur) {//遍历到当前覆盖路径的最后一个索引位置
if (cur != nums.length - 1) {//如果还没有到达终点
res++;
cur = next;//更新当前覆盖最大路径
if (cur >= nums.length - 1) {//如果当前覆盖路径已可以到达终点
return res;
}
}
}
}
return res;
}
}