代码随想录——跳跃游戏Ⅱ(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;
    }
}
相关推荐
颜酱17 小时前
从经典问题入手,吃透动态规划核心(DP五部曲实战)
前端·javascript·算法
zhaokuner17 小时前
14-有界上下文-DDD领域驱动设计
java·开发语言·设计模式·架构
翔云12345617 小时前
做事情的正确方式
程序人生·职场和发展·学习方法
信码由缰17 小时前
停止编写Excel规格文档:企业级Java开发的Markdown先行方法
java·ai编程·markdown
WBluuue17 小时前
AtCoder Beginner Contest 438(ABCDEF)
c++·算法
天才测试猿17 小时前
Selenium测试框架快速搭建详解
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
k***921617 小时前
【c++】多态
java·开发语言·c++
Murphy_3117 小时前
从根上了解一下复指数
算法
Run_Teenage17 小时前
Linux:理解IO,重定向
linux·运维·算法
西敏寺的乐章17 小时前
ThreadLocal / InheritableThreadLocal / TransmittableThreadLocal(TTL)学习总结
java·开发语言·网络