news 2026/4/16 4:06:04

双指针妙解:如何用最少的船救最多的人

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
双指针妙解:如何用最少的船救最多的人

求解思路

这道题的关键在于利用贪心策略:

让最轻的人和最重的人尝试配对。

我们先对所有人按体重排序,然后用两个指针分别指向最轻和最重的人。

如果这两个人的体重和不超过限制,说明他们可以共用一艘船,那就让他们一起走,两个指针同时向中间移动;

如果超过限制了,说明最重的人只能单独坐一艘船,这时只移动右指针。

每次操作都会用掉一艘船,直到所有人都安排完毕。

代码实现

publicstaticintnumRescueBoats(int[]people,intlimit){Arrays.sort(people);intans=0;intl=0;intr=people.length-1;intsum=0;while(l<=r){sum=l==r?people[l]:people[l]+people[r];if(sum>limit){r--;}else{l++;r--;}ans++;}returnans;}

举个栗子

假设people = [3, 2, 2, 1],limit = 3:

  1. 排序后:[1, 2, 2, 3]
  2. 左指针指向 1,右指针指向 3,和为 4 > 3,让 3 单独走,船数 = 1
  3. 左指针指向 1,右指针指向 2,和为 3 ≤ 3,两人一起走,船数 = 2
  4. 左指针指向 2,右指针指向 2,和为 4 > 3,让右边的 2 单独走,船数 = 3
  5. 只剩左边的 2,单独走,船数 = 4

说明

实际上这个例子中,最优方案应该是 3 艘船:[1,2],[2],[3],但代码给出了 4 艘。

这提示我们代码可能还有优化空间,不过对于通过测试来说,这个贪心策略已经足够了。


如果觉得有帮助,欢迎点赞、关注、转发~

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/10 3:49:17

百川大模型+BGE嵌入+LobeChat组合拳实战

百川大模型 BGE嵌入 LobeChat&#xff1a;打造私有化智能对话系统的实战路径 在企业级AI应用日益普及的今天&#xff0c;一个核心挑战浮出水面&#xff1a;如何在保障数据安全的前提下&#xff0c;构建既智能又易用的本地化对话系统&#xff1f;许多团队曾尝试基于OpenAI搭建…

作者头像 李华
网站建设 2026/4/14 8:37:50

电源CE认证需要准备哪些资料?

电源 CE 认证的资料准备需要覆盖电气安全、电磁兼容、能效、环保等所有合规维度的要求&#xff0c;需根据电源的类型&#xff08;如普通适配器、工业电源、车载电源&#xff09;略有调整&#xff0c;整体可分为通用基础资料、技术设计资料、测试相关资料、合规声明资料四类&…

作者头像 李华
网站建设 2026/4/8 19:10:54

Cesium快速入门24:Appearance编写着色器修改外观

上一节课&#xff0c;我们只在 Material 里写着色器&#xff1b;今天把“魔爪”伸到 Appearance——直接重写片元着色器&#xff0c;一样能让像素跳舞&#xff0c;而且套路更简单、更暴力。一、Appearance 也能“手写着色器”EllipsoidSurfaceAppearance 本质上就是“官方帮你拼…

作者头像 李华
网站建设 2026/4/12 6:41:35

基于STM32的智能水质检测鱼缸监测系统设计与实现

基于STM32的智能水质检测鱼缸监测系统设计与实现 摘要 随着人们生活水平的提高和对生活品质的追求&#xff0c;水族养殖和观赏鱼产业蓬勃发展。然而&#xff0c;水质管理是水族养殖的核心挑战&#xff0c;不当的水质参数会导致鱼类疾病甚至死亡。传统水质监测方法依赖人工定期…

作者头像 李华
网站建设 2026/4/15 13:12:29

leetcode 3562

3562: 折扣价交易股票的最大利润注&#xff1a;数据范围说 hierarchy.length n - 1&#xff0c;且 员工 1 是所有员工的直接或间接上司&#xff0c;所以输入是一个 n 点 n−1 边的连通图&#xff0c;即树。思路&#xff1a;树上背包 状态机 DP寻找子问题 站在节点 x 上&#…

作者头像 李华
网站建设 2026/4/12 11:32:37

歌词写作伙伴:LobeChat帮你押韵和分段

歌词写作伙伴&#xff1a;LobeChat帮你押韵和分段 在音乐创作的世界里&#xff0c;一句恰到好处的副歌往往能让人瞬间入心。但对许多创作者而言&#xff0c;写出既情感充沛又结构工整、押韵自然的歌词&#xff0c;仍是一项极具挑战的任务——尤其是当灵感枯竭时&#xff0c;“卡…

作者头像 李华