class Solution {
public int jump(int[] nums) {
// 初始化步数为0
int step = 0;
// 初始化当前能到达的最远位置为0
int maxp = 0;
// 初始化下一个跳跃的边界位置为0
int end = 0;
// 遍历数组,除了最后一个元素
for(int i=0;i<nums.length-1;i++) {
// 如果当前位置加上当前位置的值大于最远位置,更新最远位置
if(nums[i] + i > maxp)
maxp = nums[i]+i;
// 如果当前位置等于下一个跳跃的边界位置
if(end == i) {
// 更新下一个跳跃的边界位置为最远位置
end = maxp;
// 步数加1
step++;
}
}
// 返回总步数
return step;
}
}
力扣45.跳跃游戏II
听风客12024-08-29 10:14
相关推荐
懒羊羊不懒@2 分钟前
JavaSe—集合框架、Collection集合霸道流氓气质7 分钟前
Java中Stream使用示例-对实体List分组且保留原数据顺序并对分组后的每组内的数据进行部分业务逻辑修改操作2301_7951672026 分钟前
玩转Rust高级应用 如何进行理解Refutability(可反驳性): 模式是否会匹配失效java1234_小锋39 分钟前
Spring事件监听的核心机制是什么?小当家.1051 小时前
[LeetCode]Hot100系列.贪心总结+思想总结墨雪不会编程1 小时前
数据结构—排序算法篇二星释1 小时前
Rust 练习册 16:Trait 作为返回类型2301_796512521 小时前
Rust编程学习 - 如何理解Rust 语言提供了所有权、默认move 语义、借用、生命周期、内部可变性乐悠小码1 小时前
Java设计模式精讲---03建造者模式一个人的幽默1 小时前
聊一下java获取客户的ip