java刷题--45跳跃游戏II
Posted Anrys
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java刷题--45跳跃游戏II相关的知识,希望对你有一定的参考价值。
题目
代码
class Solution {
public int jump(int[] nums) {
/*我们使用 end 记录 0 位置的最远距离, 即 3
使用 k 记录 1 2 3 位置能够跳的最远距离
当 i 遍历到 end 的时候,我们需要将步数 step + 1,即开始一次新的起跳,然后将 end 更新为 k
*/
int n = nums.length;
if(n==1) return 0;
int count=0,k=0,end=0;
for(int i=0;i<n;i++) {
//找到第一个区间的最大跳跃步数并记录为k,在下下个if中更新end
k = Math.max(k,i+nums[i]);
if(k>=n-1) return count+1; //提前结束计数了
if(end==i) { //计数
count++;
end = k;
}
}return count;
}
}
结果
以上是关于java刷题--45跳跃游戏II的主要内容,如果未能解决你的问题,请参考以下文章