代码随想录——跳跃游戏Ⅱ(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;
    }
}
相关推荐
代码飞天2 分钟前
wireshark的高级使用
android·java·wireshark
Wave8453 分钟前
数据结构—树
数据结构
ic爱吃蓝莓8 分钟前
数据结构 | HashMap原理
数据结构·学习·算法·链表·哈希算法
add45a10 分钟前
C++编译期数据结构
开发语言·c++·算法
灰色小旋风13 分钟前
力扣21 合并两个有序链表(C++)
c++·leetcode·链表
gechunlian8825 分钟前
Spring Boot中的404错误:原因、影响及处理策略
java·spring boot·后端
岁岁种桃花儿36 分钟前
AI超级智能开发系列从入门到上天第四篇:AI应用方案设计
java·服务器·开发语言
2401_8914821742 分钟前
C++模块化编程指南
开发语言·c++·算法
沉鱼.4443 分钟前
树、堆的题目集
算法
暮冬-  Gentle°44 分钟前
自定义类型转换机制
开发语言·c++·算法