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
相关推荐
雨中飘荡的记忆6 小时前
ElasticJob分布式调度从入门到实战灵感__idea9 小时前
Hello 算法:众里寻她千“百度”考虑考虑15 小时前
JDK25模块导入声明_小马快跑_16 小时前
Java 的 8 大基本数据类型:为何是不可或缺的设计?Wect19 小时前
LeetCode 130. 被围绕的区域:两种解法详解(BFS/DFS)Re_zero19 小时前
线上日志被清空?这段仅10行的 IO 代码里竟然藏着3个毒瘤洋洋技术笔记19 小时前
Spring Boot条件注解详解NAGNIP1 天前
一文搞懂深度学习中的通用逼近定理!程序员清风2 天前
程序员兼职必看:靠谱软件外包平台挑选指南与避坑清单!皮皮林5512 天前
利用闲置 Mac 从零部署 OpenClaw 教程 !