代码随想录——跳跃游戏Ⅱ(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;
    }
}
相关推荐
程序员徐师兄19 小时前
Windows JDK11 下载安装教程,适合新手
java·windows·jdk11 下载安装·jdk11 下载教程
RANCE_atttackkk19 小时前
[Java]实现使用邮箱找回密码的功能
java·开发语言·前端·spring boot·intellij-idea·idea
数研小生19 小时前
构建命令行单词记忆工具:JSON 词库与艾宾浩斯复习算法的完美结合
算法·json
芒克芒克19 小时前
LeetCode 题解:除自身以外数组的乘积
算法·leetcode
五岳19 小时前
DTS按业务场景批量迁移阿里云MySQL表实战(下):迁移管理平台设计与实现
java·应用·dts
zhougl99620 小时前
Java 所有关键字及规范分类
java·开发语言
Python 老手20 小时前
Python while 循环 极简核心讲解
java·python·算法
@Aurora.20 小时前
优选算法【专题九:哈希表】
算法·哈希算法·散列表
java1234_小锋20 小时前
Java高频面试题:MyISAM索引与InnoDB索引的区别?
java·开发语言
Mr_Xuhhh20 小时前
MySQL函数详解:日期、字符串、数学及其他常用函数
java·数据库·sql