【贪心算法】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 复制代码
相关推荐
苏纪云5 分钟前
蓝桥杯知识点——day2
数据结构·算法·蓝桥杯
Wect7 分钟前
LeetCode 52. N 皇后 II:回溯算法高效求解
前端·算法·typescript
鱼骨不是鱼翅19 分钟前
个人简历面试复习-----测试理论篇(一)
面试·职场和发展
iFlyCai19 分钟前
数据结构与算法之希尔排序
数据结构·算法·排序算法
Nontee23 分钟前
Leetcode Top100答案和解释 -- Python版本(矩阵)
python·leetcode·矩阵
lcreek37 分钟前
LeetCode2208. 将数组和减半的最少操作次数、LeetCode2406.将区间分为最少组数
python·算法
shehuiyuelaiyuehao39 分钟前
算法1,移动零
数据结构·算法·排序算法
shehuiyuelaiyuehao43 分钟前
算法2,复写零
数据结构·算法
像污秽一样44 分钟前
算法设计与分析-算法效率分析基础-习题1.1
c语言·数据结构·c++·算法
张老师带你学1 小时前
unity道具,哑铃架+天文望远镜,一边运动一边观星
科技·游戏·unity·模型·游戏美术