代码随想录——跳跃游戏Ⅱ(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;
    }
}
相关推荐
喧星Aries2 分钟前
进程调度的时机,切换与过程方式(操作系统OS)
java·服务器·前端·操作系统·进程调度
JouJz3 分钟前
Spring事务管理深度解析:原理、实践与陷阱
java·spring
此乃大忽悠6 分钟前
身份认证缺陷
java·数据库·webgoat·身份认证缺陷
Honyee16 分钟前
java使用UCanAccess操作Access
java·后端
秋千码途16 分钟前
小架构step系列10:日志热更新
java·linux·微服务
她说人狗殊途20 分钟前
浅克隆 深克隆
java
緈福的街口20 分钟前
【leetcode】2236. 判断根节点是否等于子节点之和
算法·leetcode·职场和发展
timing99421 分钟前
SQLite3 中列(变量)的特殊属性
java·jvm·sqlite
SimonKing27 分钟前
你的Redis分布式锁还在裸奔?看门狗机制让锁更安全!
java·后端·程序员
祁思妙想36 分钟前
【LeetCode100】--- 1.两数之和【复习回滚】
数据结构·算法·leetcode