【贪心算法】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 复制代码
相关推荐
uesowys13 小时前
华为OD算法开发指导-数据结构-图
数据结构·算法·华为od
实心儿儿13 小时前
算法3:链表分割
数据结构·算法·链表
Tisfy13 小时前
LeetCode 1415.长度为 n 的开心字符串中字典序第 k 小的字符串:DFS构造 / 数学O(n)
数学·算法·leetcode·深度优先·字符串·dfs·模拟
云边散步13 小时前
godot2D游戏教程系列二(14)
笔记·学习·游戏·游戏开发
FriendshipT14 小时前
算法部署知识点:TensorRT、Tensorflow、Flask、Docker、TFLite
算法·docker·flask·tensorflow
进击的小头14 小时前
第7篇:基于传递函数的PI控制器设计
python·算法
TracyCoder12314 小时前
LeetCode Hot100(62/100)——62. 不同路径
算法·leetcode·职场和发展
jing-ya14 小时前
day 50 图论part2
java·算法·深度优先·图论
仰泳的熊猫14 小时前
题目2268:蓝桥杯2016年第七届真题-密码脱落
数据结构·c++·算法·蓝桥杯
我能坚持多久14 小时前
【初阶数据结构09】——对堆用法的深入刨析
数据结构·算法