news 2026/5/26 10:23:41

Day20:贪心算法,跳跃游戏

作者头像

张小明

前端开发工程师

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

1.55跳跃游戏

维护当前可达最远距离

  1. 如果i超过了当前可达最远距离,无法达到终点
  2. 当当前可达最远距离大于等于终点时,说明可达终点
class Solution: def canJump(self, nums: List[int]) -> bool: max_jump = 0 for i in range(len(nums)): if i > max_jump: return False max_jump = max(i + nums[i], max_jump) if max_jump >= len(nums)-1: return True return False

2.45跳跃游戏

返回到达n-1的最小跳跃次数。测试用例保证可以到达n-1

  1. 维护三个变量,跳跃次数,已访问的可达最远位置,当前能跳跃的最远距离

  2. cur_reach和max_reach的区别

  3. jumps不是在起跳时+1,程序不知道起跳点在哪,只是在必须要跳跃(超过当前跳跃边界)时才跳跃,故cur_reach不是起跳点!!

    1. ​​​​jumps += 1不是"记录起跳",而是"记录必须进行一次新跳跃"

    2. 真正的起跳点可能是当前边界内的任意位置

    3. 算法通过farthest隐式选择了最优起跳点/降落点

    4. 不关心从哪里跳,只关心跳几次

  4. 循环范围[0,n-2]:程序保证了一定能到达n-1,故在最后一个值前就确定了最后一跳,最后一个值是目标,而不是决定要不要起跳

class Solution: def jump(self, nums: List[int]) -> int: n = len(nums) max_reach = 0 jumps = 0 cur_reach = 0 for i in range(n-1): max_reach = max(max_reach, nums[i]+i) if i == cur_reach: jumps += 1 cur_reach = max_reach return jumps

3.1005. K 次取反后最大化的数组和

我的错误:应该遍历k,k为0才结束,而我遍历数组,没有考虑到当所有的负数都变成整数且k还有剩余的情况

以下是正确代码:

  1. 负数:从小到大依次反转负数
  2. 非负数:只操作最小值,并且只在剩余k为奇数时反转最小值
  3. 两次排序
class Solution: def largestSumAfterKNegations(self, nums: List[int], k: int) -> int: nums.sort() # 翻转所有负数 for i in range(len(nums)): if nums[i] < 0 and k > 0: nums[i] = -nums[i] k -= 1 # 如果k还有剩余 if k % 2 == 1: # 翻转当前最小的元素 nums.sort() # 重新排序找到最小值 nums[0] = -nums[0] return sum(nums)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/25 6:55:07

企业数字化转型中,小程序商城成线上线下关键连接点

在当下企业朝着数字化转型迈进的历程当中&#xff0c;小程序商城已然变成了连通线上流量跟线下服务的关键连接点。这样一种轻量级的应用形式&#xff0c;依靠它不需要进行下载、使用完马上就能离开的便利特点&#xff0c;以及借助微信、支付宝等超级应用既有所属的庞大用户根基…

作者头像 李华
网站建设 2026/5/26 4:50:29

【张量等变学习】张量学习与正交,洛伦兹和辛对称

目录一、研究背景与意义二、核心概念定义1. 张量相关定义一、研究背景与意义2. 不变性与等变性3. 各向同性张量与特殊张量4. 关键群定义三、核心理论成果1. 正交群等变多项式函数&#xff08;O(d)O(d)O(d)-Equivariant Polynomials&#xff09;定理1&#xff08;O(d)O(d)O(d)-等…

作者头像 李华
网站建设 2026/5/26 6:33:49

震惊!AI Agent架构的“五脏六腑“全曝光!从底层到SaaS平台,5层架构带你秒懂大模型Agent开发(附全景图)

下面是一个科普式总结&#xff0c;适合不了解这块的同学&#xff01; 下面按照“底层执行引擎 → 任务编排 → 多 Agent 协作 → 应用级框架 → SaaS Agent 平台”五层给你分层总结&#xff0c;覆盖大公司、初创公司、开源社区。 业界主流 Agent Infra 全景图 Layer 5: SaaS Ag…

作者头像 李华
网站建设 2026/5/25 10:43:43

【python大数据毕设实战】天猫订单交易数据可视化分析系统、Hadoop、计算机毕业设计、包括数据爬取、数据分析、数据可视化、机器学习、实战教学

&#x1f34a;作者&#xff1a;计算机毕设匠心工作室 &#x1f34a;简介&#xff1a;毕业后就一直专业从事计算机软件程序开发&#xff0c;至今也有8年工作经验。擅长Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等。 擅长&#xff1a;按照需求定制化开发项目…

作者头像 李华