212.贪心算法:跳跃游戏(力扣)

代码解决

cpp 复制代码
class Solution {
public:
    bool canJump(vector<int>& nums) 
    {
        int cover = 0;  // 初始化覆盖范围
        if (nums.size() == 1) return true;  // 如果数组长度为1,直接返回 true
        
        // 遍历数组,直到当前覆盖范围
        for (int i = 0; i <= cover; i++)
        {
            // 更新当前覆盖范围
            cover = max(i + nums[i], cover);
            
            // 如果覆盖范围达到或超过最后一个位置,返回 true
            if (cover >= nums.size() - 1) return true;
        }
        
        // 如果遍历完所有位置仍不能到达最后一个位置,返回 false
        return false;
    }
};

核心思想

这个算法使用贪心算法的思路,通过遍历数组,每一步更新能到达的最远位置。如果能到达或超过数组的最后一个位置,则返回 true,否则返回 false

相关推荐
1uther2 小时前
Unity核心概念⑨:Screen
开发语言·游戏·unity·c#·游戏引擎
2501_918126912 小时前
用html5写一个flappybird游戏
css·游戏·html5
纪元A梦4 小时前
贪心算法应用:出租车调度问题详解
贪心算法
纪元A梦7 小时前
贪心算法应用:K-Means++初始化详解
算法·贪心算法·kmeans
_不会dp不改名_7 小时前
leetcode_21 合并两个有序链表
算法·leetcode·链表
吃着火锅x唱着歌7 小时前
LeetCode 3302.字典序最小的合法序列
leetcode
睡不醒的kun7 小时前
leetcode算法刷题的第三十四天
数据结构·c++·算法·leetcode·职场和发展·贪心算法·动态规划
吃着火锅x唱着歌7 小时前
LeetCode 978.最长湍流子数组
数据结构·算法·leetcode
haogexiaole8 小时前
贪心算法python
算法·贪心算法
纪元A梦9 小时前
贪心算法在GNN邻域采样问题中的深度解析
算法·贪心算法