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

相关推荐
sjsjs1127 分钟前
【数据结构-合法括号字符串】【hard】【拼多多面试题】力扣32. 最长有效括号
数据结构·leetcode
咕咕吖2 小时前
对称二叉树(力扣101)
算法·leetcode·职场和发展
九圣残炎2 小时前
【从零开始的LeetCode-算法】1456. 定长子串中元音的最大数目
java·算法·leetcode
~yY…s<#>4 小时前
【刷题17】最小栈、栈的压入弹出、逆波兰表达式
c语言·数据结构·c++·算法·leetcode
linsa_pursuer5 小时前
快乐数算法
算法·leetcode·职场和发展
XuanRanDev5 小时前
【每日一题】LeetCode - 三数之和
数据结构·算法·leetcode·1024程序员节
代码猪猪傻瓜coding5 小时前
力扣1 两数之和
数据结构·算法·leetcode
南宫生7 小时前
贪心算法习题其三【力扣】【算法学习day.20】
java·数据结构·学习·算法·leetcode·贪心算法
Footprint_Analytics7 小时前
Footprint Analytics 助力 Sei 游戏生态增长
游戏·web3·区块链
passer__jw7678 小时前
【LeetCode】【算法】283. 移动零
数据结构·算法·leetcode