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

代码解决 

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

相关推荐

  1. 贪心题解 跳跃游戏

    2024-07-09 16:54:01       50 阅读
  2. 贪心算法-跳跃游戏

    2024-07-09 16:54:01       33 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-09 16:54:01       49 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-09 16:54:01       53 阅读
  3. 在Django里面运行非项目文件

    2024-07-09 16:54:01       42 阅读
  4. Python语言-面向对象

    2024-07-09 16:54:01       53 阅读

热门阅读

  1. pdfplumber vs PyMuPDF:PDF文本、图像和表格识别的比较

    2024-07-09 16:54:01       28 阅读
  2. 编写简单的Ansible Playbook

    2024-07-09 16:54:01       25 阅读
  3. VSCode + 阿里云OSS + 图床插件Picgo

    2024-07-09 16:54:01       31 阅读
  4. 【Hive实战】HiveMetaStore的指标采集告警

    2024-07-09 16:54:01       18 阅读
  5. 设计模式简单示例

    2024-07-09 16:54:01       23 阅读