力扣45.跳跃游戏II

复制代码
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;
    }
}
相关推荐
Kuo-Teng21 小时前
Mastering High-Concurrency Data Processing: A Deep Dive into BufferTrigger
java·数据结构
budingxiaomoli21 小时前
算法--位运算
算法
j***495621 小时前
Spring Boot 各种事务操作实战(自动回滚、手动回滚、部分回滚)
java·数据库·spring boot
保加利亚的风21 小时前
【Java】Spring Boot Event事件驱动开发:使用 ApplicationEvent 实现解耦通信
java·驱动开发·spring boot
熊猫_豆豆21 小时前
基于A*算法的雷雨绕飞路径MATLAB实现
算法·matlab·航天·a星算法
_F_y21 小时前
二分:山脉数组的峰顶索引、寻找峰值、寻找旋转排序数组中的最小值、点名
c++·算法
Elias不吃糖21 小时前
克隆图(LeetCode 133)——用数组做映射的 DFS 解法
c++·算法·leetcode·深度优先
豆奶特浓621 小时前
谢飞机勇闯Java面试:从内容社区的缓存一致性到AI Agent,这次能飞多高?
java·微服务·ai·面试·架构·缓存一致性·feed流
Pou光明21 小时前
7_线程安全_线程间的内存可视性2缓存_内存屏障_读写排序
java·开发语言·缓存
CV_J21 小时前
L12_用户菜单权限
java