【贪心算法】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 复制代码
相关推荐
大大杰哥13 小时前
leetcode hot100(3)子串
c++·算法·leetcode
秦明月1313 小时前
KUKA机器人Profinet通讯实战指南
经验分享·学习·职场和发展·学习方法·设计规范
fish_xk13 小时前
哈希的了解
算法·哈希算法
水木流年追梦13 小时前
大模型入门-应用篇1-prompt技术
开发语言·python·算法·prompt
WL_Aurora13 小时前
【每日一题】位运算
python·算法
多加点辣也没关系13 小时前
数据结构与算法总章
数据结构·算法
影sir13 小时前
STL容器——vector类
c++·算法·stl
Brilliantwxx13 小时前
【C++】stack_queue与deque模版(模拟实现+认识+对比)
开发语言·c++·笔记·算法·list
hnjzsyjyj13 小时前
洛谷 P1305:新二叉树 ← DFS
数据结构·dfs
爱吃香芋派OvO13 小时前
ComfyUI 视频创作实战手册:节点搭建 + 性能优化 + 批量生成
人工智能·算法·机器学习