题目传送地址: ​​https://leetcode.cn/problems/jump-game-ii/​

Leetcode45. 跳跃游戏 II_算法

代码如下:

public static int jump(int[] nums) {
int result = 0; //走的总步数
for (int i = 0; i < nums.length - 1; i++) {
int j = i + 1;
int max = 0;
result++;
int nextIndex = 0; //下一个能跑最远的有潜力的点
if (i + nums[i] >= nums.length - 1) {
return result;
}
//找出下一个能跑最远的点。
while (j <= i + nums[i]) {
if (nums[j] + j > max) {
max = nums[j] + j;
nextIndex = j;
}
j++;
}
i = nextIndex-1;
}
return result;
}