news 2026/2/7 16:48:04

贪心算法之跳跃游戏

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
贪心算法之跳跃游戏

一、贪心思路拆解

  1. 核心逻辑

    • 局部最优:遍历数组时,不断更新“当前能跳到的最远距离”(覆盖范围);
    • 全局最优:如果这个覆盖范围能包含数组最后一个下标,就返回true;如果遍历完覆盖范围还没到终点,返回false。
  2. 关键观察

    • 数组中每个元素nums[i]表示“从i位置能跳的最大长度”,所以从i位置能到达的最远距离是i + nums[i]
    • 遍历过程中,只要当前下标i在“已有的覆盖范围”内,就可以用i + nums[i]更新覆盖范围;
    • 一旦覆盖范围 >= 数组最后一个下标,直接返回true(不用再遍历,提前终止更高效)。

二、分步理解(结合示例)

示例1:nums = [2,3,1,1,4]
  • 初始:覆盖范围cover = 0(起始位置0,能跳2步,初始覆盖到0);
  • 遍历i=0(在cover内):更新cover = max(0, 0+2) = 2(现在能覆盖到0、1、2);
  • 遍历i=1(在cover内):更新cover = max(2, 1+3) = 4(覆盖到0-4,已包含最后一个下标4),返回true。
示例2:nums = [3,2,1,0,4]
  • 初始:cover = 0;
  • 遍历i=0:cover = max(0, 0+3) = 3(覆盖0-3);
  • 遍历i=1:cover = max(3, 1
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/30 17:50:48

丢掉向量数据库!推理型 RAG 正在重新定义长文档问答的准确边界

前言 在大模型应用落地的浪潮中,RAG(检索增强生成)一度被视为解决知识幻觉、提升事实准确性的“银弹”。然而,当开发者真正将 RAG 投入企业级场景——比如解析一份 300 页的 SEC 财报、一份技术标准文档或一本法律汇编时&#xf…

作者头像 李华
网站建设 2026/2/5 19:15:01

uniapp+python美食大全订阅小程序设计与实现

目录系统架构设计核心功能模块技术实现要点数据交互流程性能优化方案开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!系统架构设计 采用前后端分离架构,前端使用UniApp跨平台框架…

作者头像 李华
网站建设 2026/1/30 17:37:27

导师严选!自考必备TOP9 AI论文网站深度测评

导师严选!自考必备TOP9 AI论文网站深度测评 自考路上的智能助手:AI论文网站测评指南 随着人工智能技术的快速发展,越来越多的自考生开始借助AI工具提升论文写作效率。然而,面对市场上琳琅满目的AI论文网站,如何选择真…

作者头像 李华
网站建设 2026/2/7 20:45:39

单片机红外遥控系统设计

单片机红外遥控系统设计与实现 一、设计背景与意义 红外遥控凭借成本低廉、功耗低、抗干扰能力较强等优势,广泛应用于电视、空调、机顶盒等家电设备控制场景。传统红外遥控系统存在编码单一、控制功能有限、兼容性差等问题,难以适配多品牌多类型设备的统…

作者头像 李华
网站建设 2026/1/30 17:29:27

Optional的学习

Optional的核心减少代码里出现 空指针异常(NullPointerException)的情况常见使用场景当你想使用某个对象中的方法,但又不清楚这个对象是不是为null,这个时候,你就会想到用if( xxx ! null) 来判断这个对象是不是null&a…

作者头像 李华
网站建设 2026/2/3 4:56:26

直播预告|如意玲珑:Linux 跨发行版包管理器解析

“一场直面 Linux 依赖地狱的技术拆解直播” 在 Linux 世界里,依赖冲突、环境不一致、跨发行版分发困难,几乎是每个开发者都绕不开的问题。 软件包能不能做到“一次构建,多发行版运行”? 系统环境和应用运行环境,真的可…

作者头像 李华