代码随想录——跳跃游戏Ⅱ(Leetcode 45)

题目链接

贪心

java 复制代码
class Solution {
    public int jump(int[] nums) {
        if(nums.length == 1){
            return 0;
        }
        int count = 0;
        // 当前覆盖最远距离下标
        int curDistance = 0;
        // 下一步覆盖距离最远下标
        int nextDistance = 0;
        for(int i = 0; i <= nums.length; i++){
            nextDistance = Math.max(nums[i] + i, nextDistance);
            // 遇到当前覆盖最远距离下标
            if(i == curDistance){
                count++;
                // 更新当前覆盖最远距离下标
                curDistance = nextDistance;
                if(nextDistance >= nums.length - 1){
                    break;
                }
            }
        }
        return count;
    }
}
相关推荐
AD钙奶-lalala13 小时前
SpringBoot 4.0.3配置Swagger
java·spring boot·后端
小龙报13 小时前
【算法通关指南:算法基础篇】二分算法: 1.A-B 数对 2.烦恼的高考志愿
c语言·开发语言·数据结构·c++·vscode·算法·二分
seven97_top13 小时前
NIO:解开非阻塞I/O高并发编程的秘密
java
小六溜了13 小时前
模块二十.双列集合
java
23.13 小时前
【Java】NIO 中的多路复用(Selector / Channel)机制
java·面试·nio
yong999013 小时前
NNDA、PDA、JPDA、IMM数据关联算法MATLAB实现
开发语言·算法·matlab
七夜zippoe13 小时前
Docker容器化实战:核心概念、镜像制作与多阶段构建全解析
java·jvm·数据库·docker·oracle·容器化
罗湖老棍子13 小时前
加分二叉树(信息学奥赛一本通- P1580)(洛谷-P1040)
算法·区间dp·区间动态规划
TimberWill14 小时前
优化if else过多的方案(含设计模式处理方式)
java·设计模式