力扣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;
    }
}
相关推荐
Hx_Ma1611 分钟前
SpringMVC框架提供的转发和重定向
java·开发语言·servlet
期待のcode1 小时前
原子操作类LongAdder
java·开发语言
舟舟亢亢1 小时前
Java集合笔记总结
java·笔记
A_nanda2 小时前
c# MOdbus rto读写串口,如何不相互影响
算法·c#·多线程
小酒窝.2 小时前
【多线程】多线程打印ABC
java
乡野码圣2 小时前
【RK3588 Android12】RCU机制
java·jvm·数据库
JAVA+C语言2 小时前
如何优化 Java 多主机通信的性能?
java·开发语言·php
编程彩机3 小时前
互联网大厂Java面试:从分布式架构到大数据场景解析
java·大数据·微服务·spark·kafka·分布式事务·分布式架构
代码雕刻家3 小时前
2.4.蓝桥杯-分巧克力
算法·蓝桥杯
Ulyanov4 小时前
顶层设计——单脉冲雷达仿真器的灵魂蓝图
python·算法·pyside·仿真系统·单脉冲