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

相关推荐
wanhengidc3 小时前
什么是站群服务器
运维·服务器·网络·游戏·智能手机
ZTLJQ4 小时前
植物大战僵尸HTML5游戏完整实现教程
前端·游戏·html5
吗~喽6 小时前
【LeetCode】四数之和
算法·leetcode·职场和发展
卿言卿语6 小时前
CC1-二叉树的最小深度
java·数据结构·算法·leetcode·职场和发展
小欣加油7 小时前
leetcode 329 矩阵中的最长递增路径
c++·算法·leetcode·矩阵·深度优先·剪枝
Emilia486.7 小时前
【Leetcode&nowcode&数据结构】单链表的应用(初阶)
c语言·数据结构·算法·leetcode
仰泳的熊猫8 小时前
LeetCode:700. 二叉搜索树中的搜索
数据结构·c++·算法·leetcode
代码充电宝8 小时前
LeetCode 算法题【中等】189. 轮转数组
java·算法·leetcode·职场和发展·数组
微笑尅乐9 小时前
从递归到迭代吃透树的层次——力扣104.二叉树的最大深度
算法·leetcode·职场和发展
im_AMBER9 小时前
Leetcode 28
算法·leetcode