代码随想录——跳跃游戏Ⅱ(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;
    }
}
相关推荐
PhotonixBay8 分钟前
从粗糙度到三维形貌:激光共聚焦显微镜实现微米级表面分析
图像处理·人工智能·测试工具·算法
Miao1213115 分钟前
工程经理如何简化工作流程?流程管理与自动化实践
职场和发展
2401_8628808219 分钟前
数据结构 --- 算法
数据结构·算法
ps酷教程26 分钟前
解析自定义数据
java
wuminyu27 分钟前
JDK21中FFM api的upcall回调机制解析
java·linux·c语言·jvm·c++
个 人 练 习 生32 分钟前
数据结构链表:带头双向循环链表
c语言·数据结构·经验分享·学习·其他·链表
桦说编程36 分钟前
深入理解 FutureTask 状态机——从契约到实现
java·后端·性能优化
松仔log42 分钟前
Kotlin中级——协程
java·jvm·kotlin
血小板要健康2 小时前
二叉树 dfs 题型总结
算法·深度优先