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
相关推荐
有毒的教程8 小时前
Dev-C++ 避免爆栈(Stack Overflow)完整方案骇客野人8 小时前
Java 开发组件大全覆盖后端主流技术栈(基础、Web、ORM、中间件、微服务、安全、工具、测试、运维、信创适配常用组件)在所不辞兄8 小时前
刚性问题误差容限设置技巧啊啊啊啊啊!!!!8 小时前
unordered_map和unordered_set的使用2401_888859718 小时前
STM32H733 MPU、AXI、FMC学习java_nnnn8 小时前
LeetCode刷题双指针(快乐数+盛最多水的容器)JavaCV工程师丁Sir10 小时前
ArkWeb 手记 04|DevTools 调试与缓存清理Sarvartha17 小时前
final 关键字2601_9520477917 小时前
单一策略深度教程:用轻易云把集成任务的报错实时推送到钉钉机器人yi01117 小时前
LeetCode 219:存在重复元素 II——哈希表记录“最近一次出现的位置”