【贪心算法】Leetcode 55. 跳跃游戏

【贪心算法】Leetcode 55. 跳跃游戏

---------------🎈🎈55. 跳跃游戏 题目链接🎈🎈-------------------

解法1

关键点在于:不用拘泥于每次究竟跳几步,而是看覆盖范围,覆盖范围内一定是可以跳过来的,不用管是怎么跳的。

⭐️每次移动取最大跳跃步数(得到最大的覆盖范围),每移动一个单位,就更新最大覆盖范围coverRange。

java 复制代码
class Solution {
    public boolean canJump(int[] nums) {
        // 遍历数组,nums[i]代表当前可以覆盖到的最大范围coverRange,
        // 在循环中不断的修改这个coverRange
        // 之后在这个范围中遍历,最终看能否覆盖到最后一个下标
        if(nums.length == 1) return true;
        int coverRange = 0;
        for(int i = 0; i <= coverRange; i++){
            coverRange = Math.max(coverRange,nums[i]+i); //动态更新coverRange
            if(coverRange >= nums.length-1) return true;
        }
    
        return false;
    }
}          

解法2

时间复杂度O(N)

空间复杂度O(N)

java 复制代码
相关推荐
琪伦的工具库1 天前
批量PDF合并工具使用说明:批量合并与直接合并两种模式,拖拽排序/页面范围/遍历子目录/重名自动处理
数据结构·pdf·排序算法
Robot_Nav1 天前
RC-ESDF与Lazy Theta* 算法结合进行离线全局路径的生成
算法·全局规划·esdf
papership1 天前
【入门级-算法-7、搜索算法:深度优先搜索】
算法·深度优先
山甫aa1 天前
哈希集合-----从零开始的数据结构学习
数据结构·算法·哈希算法
say_fall1 天前
有关算法的简单数学问题
数据结构·c++·算法·职场和发展·蓝桥杯
Halo_tjn1 天前
Java 接口的定义重构学生管理系统
java·开发语言·算法
jimy11 天前
故事化叙事的软件/计算机历史节目---非常浪漫与传奇
职场和发展·生活
阿Y加油吧1 天前
栈的经典应用:从「有效括号」到「寻找两个正序数组的中位数」深度解析
开发语言·python·算法
小杰帅气1 天前
算法的时间和空间复杂度
数据结构
阿Y加油吧1 天前
二分查找进阶:旋转排序数组的两道经典题深度解析
数据结构·算法