news 2026/4/18 7:57:06

贪心算法之跳跃游戏

作者头像

张小明

前端开发工程师

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/4/5 18:27:59

什么是第三方支付代付和入账?

在第三方支付业务里,代付和入账是资金流转的两个核心环节,具体逻辑如下: 入账:资金到指定账户的确认动作 入账的核心是 “资金成功抵达目标账户”。比如企业委托银行转账,只要资金转入持卡人的指定账户,就…

作者头像 李华
网站建设 2026/4/17 3:44:48

AI销冠系统是什么?数字员工的价值体现主要有哪些?

数字员工在企业运营中展现了显著的价值,尤其是在优化业务流程、降低成本和提升效率方面。通过AI销冠系统,数字员工实现了日常任务的自动化处理,这大幅度减少了对人工服务的依赖,使得运营成本明显下降。例如,企业可以通…

作者头像 李华
网站建设 2026/4/18 7:55:28

Node.js、npm、node、nvm的区别

1. Node.js 让JavaScript脱离浏览器,能运行在服务器/本地终端 举个🌰: 你写了一个app.js文件(里面是console.log(hello)),没有Node.js的话,这个文件只能在浏览器里运行;有了Node.…

作者头像 李华
网站建设 2026/4/16 18:35:44

单片机温度检测系统

单片机温度检测系统设计与实现 一、设计背景与意义 温度检测是工业监控、环境监测、设备运维等领域的基础需求,传统温度检测设备存在体积大、操作复杂、数据记录不便等问题。现有单片机检测设计多精度不足、抗干扰能力弱,难以满足连续监测与数据追溯需求…

作者头像 李华
网站建设 2026/4/18 5:07:42

MySQL索引入门

MySQL索引入门1. 什么是索引?2. 索引的底层实现与存储特性3. 什么时候适合添加索引?4. 索引的创建、删除5. 索引失效的六大场景6. 索引的完整分类1. 什么是索引? 索引是 MySQL 数据库为提升数据检索效率而设计的有序数据结构,其核…

作者头像 李华