881. 救生艇 逃离我推掉我的手 2022-09-08 14:48 113阅读 0赞 #### 2021-08-26 LeetCode每日一题 #### 链接:[https://leetcode-cn.com/problems/boats-to-save-people/][https_leetcode-cn.com_problems_boats-to-save-people] 标签:**贪心、排序、数组、双指针** > 题目 第 i 个人的体重为 people\[i\],每艘船可以承载的最大重量为 limit。 每艘船最多可同时载两人,但条件是这些人的重量之和最多为 limit。 返回载到每一个人所需的最小船数。(保证每个人都能被船载)。 示例 1: 输入:people = [1,2], limit = 3 输出:1 解释:1 艘船载 (1, 2) 示例 2: 输入:people = [3,2,2,1], limit = 3 输出:3 解释:3 艘船分别载 (1, 2), (2) 和 (3) 示例 3: 输入:people = [3,5,3,4], limit = 5 输出:4 解释:4 艘船分别载 (3), (3), (4), (5) 提示: * 1 <= people.length <= 50000 * 1 <= people\[i\] <= limit <= 30000 > 分析 题目规定每艘船最多载2人,并且所有人都要坐上船,求最少要几条船。 这种**最少**的问题,只要每次保证选择是最优解。这里就是每次尽量选择两个人坐船,这样最后就是最少数量。可以使用**排序 + 双指针**。 重量从小到大排完后,两边一起移动,如果两个体重和不大于limit,则说明两个人可以坐一条船,如果大于limit,则说明右边这个人只能坐一条船,因为左边的这个人是目前未上船的人中体重最小的,再也找不到比它更小的人了。 > 编码 class Solution { public int numRescueBoats(int[] people, int limit) { int res = 0, len = people.length; Arrays.sort(people); int left = 0, right = len - 1; while (left <= right) { // 一艘船可以载两个人 if (people[left] + people[right] <= limit) { res++; left++; right--; } else { // 和体重最小的都坐不下,则下标为right的单独坐一艘船 res++; right--; } } return res; } } ![请添加图片描述][watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA56eD5aS05ZOl57yW56iL_size_20_color_FFFFFF_t_70_g_se_x_16] [https_leetcode-cn.com_problems_boats-to-save-people]: https://leetcode-cn.com/problems/boats-to-save-people/ [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA56eD5aS05ZOl57yW56iL_size_20_color_FFFFFF_t_70_g_se_x_16]: /images/20220829/31b2afa9b4fd47d3b1c64964badf8f85.png
相关 2023华为OD 面试手撕代码真题【救生艇】 > 给定数组 people 。people\[i\]表示第 i 个人的体重 ,船的数量不限,每艘船可以承载的最大重量为 limit。每艘船最多可同时载两人,但条件是这些人的重量 太过爱你忘了你带给我的痛/ 2023年10月12日 14:17/ 0 赞/ 72 阅读
相关 881.高精度除法 给定两个非负整数(不含前导 00) A,BA,B,请你计算 A/BA/B 的商和余数。 输入格式 共两行,第一行包含整数 AA,第二行包含整数 BB。 输出格式 柔光的暖阳◎/ 2023年09月30日 11:42/ 0 赞/ 15 阅读
相关 【JS】881- 我终于弄懂了Promise ![format_png][] > 转自:掘金 - 前端布吉岛 > > https://juejin.cn/post/6921593620680802311 写在前面 旧城等待,/ 2022年11月05日 00:43/ 0 赞/ 190 阅读
相关 Leetcode刷题100天—881. 救生艇(排序)—day19 前言: > 作者:神的孩子在歌唱 > > 大家好,我叫运智 ![image-20210826120804220][] 第 i 个人的体重为 people\[i\],每艘 冷不防/ 2022年09月11日 06:20/ 0 赞/ 17 阅读
相关 leetcode881救生艇 ![在这里插入图片描述][watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5bmy5ZWl5ZWl5 深藏阁楼爱情的钟/ 2022年09月08日 14:51/ 0 赞/ 98 阅读
相关 881. 救生艇 2021-08-26 LeetCode每日一题 链接:[https://leetcode-cn.com/problems/boats-to-save-people/][h 逃离我推掉我的手/ 2022年09月08日 14:48/ 0 赞/ 114 阅读
相关 看电影881有感 一直生活在东北,所了解的风土人情都是关东文化。对于中华其它文化元素了解的并不多。看881后,才感受到,原来福建歌也这样好听。一首首动听的歌窜插在剧情之中,随着剧情的发展拨动 青旅半醒/ 2022年08月26日 12:25/ 0 赞/ 191 阅读
相关 ## 启动SSM项目,出现[2020-05-20 09:47:28,881] Artifact ssm_test_second:war exploded: Error during artifact 启动SSM项目,出现\[2020-05-20 09:47:28,881\] Artifact ssm\_test\_second:war exploded: Error du 梦里梦外;/ 2021年09月13日 16:10/ 0 赞/ 200 阅读
还没有评论,来说两句吧...