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
相关推荐
覆东流7 小时前
7.Java数组m0_719084117 小时前
限流和获取请求ip的方法Navigator_Z7 小时前
LeetCode //C - 1206. Design Skiplist码行山野赴时序归途7 小时前
三道经典数组题:从暴力到最优的算法思维lzhdim7 小时前
提高 SQL 语句执行速度的方法徐小夕7 小时前
3分钟从想法到Agent上线:我们开源了一款AI可视化工作流“IDE”深漂的华哥8 小时前
Ruoyi-Plus前后端分离场景下,数据加密传输sel_99 小时前
【强化学习】Hands-on Modern RL项目实践|OPD 算法完整解析Navigator_Z9 小时前
LeetCode //C - 1209. Remove All Adjacent Duplicates in String II落魄大学生之流水线上谋生计9 小时前
Java锁全面指南:从基础概念到企业级应用