当前位置: 首页 > article >正文

贪心3 跳跃游戏 II

方法一:反向查找出发位置
class Solution {
public:
    int jump(vector<int>& nums) {
        int position = nums.size() - 1;
        int steps = 0;
        while (position > 0) {
            for (int i = 0; i < position; i++) {
                if (i + nums[i] >= position) {
                    position = i;
                    steps++;
                    break;
                }
            }
        }
        return steps;
    }
};

方法二:正向查找可到达的最大位置 

class Solution {
public:
    int jump(vector<int>& nums) {
        int maxPos = 0, n = nums.size(), end = 0, step = 0;
        for (int i = 0; i < n - 1; ++i) {
            if (maxPos >= i) {
                maxPos = max(maxPos, i + nums[i]);
                if (i == end) {
                    end = maxPos;
                    ++step;
                }
            }
        }
        return step;
    }
};

leetcode题解


http://www.kler.cn/a/562445.html

相关文章:

  • C++基础入门——Vetor与函数
  • 【行业解决方案篇九】【DeepSeek能源勘探:地震波数据智能解释】
  • WPS PPT插入各种线型形状(如画直线)的时候总是有箭头,如何还原成只画直线
  • Eclipse导入forge-1.21.x
  • 【深度学习】强化学习(RL)-PPO(Proximal Policy Optimization,近端策略优化)
  • github 推送的常见问题以及解决
  • 6.6.2 SQL数据定义
  • 大语言模型中的梯度值:深入理解与应用
  • 微信小程序radio,改成实心圆
  • WIn32 笔记:本专栏课件
  • 实操系列:我用deepseek写sql
  • 48.日常算法
  • 【算法与数据结构】单调队列
  • 便捷高效的免费 PDF 文件处理帮手
  • 《论区块链技术及应用》审题技巧 - 系统架构设计师
  • 更改visual studio 2022 默认NuGet包路径
  • 如何去除word页眉上面的横线
  • 服务器离线部署DeepSeek
  • 【HarmonyOS Next】鸿蒙应用公钥和证书MD5指纹的获取
  • 服务器硬件老化导致性能下降的排查与优化