881专题

leetcode解题思路分析(一百零三)881 - 887 题

救生艇 第 i 个人的体重为 people[i],每艘船可以承载的最大重量为 limit。每艘船最多可同时载两人,但条件是这些人的重量之和最多为 limit。返回载到每一个人所需的最小船数。(保证每个人都能被船载)。 贪心算法:双指针滑动,如果最轻+最重可以坐得下,则一起走,否则把最重的人先驮走 class Solution {public:int numRescueBoats(vector

Day 18:881. 救生艇

Leetcode 881. 救生艇 给定数组 people 。people[i]表示第 i 个人的体重 ,船的数量不限,每艘船可以承载的最大重量为 limit。 每艘船最多可同时载两人,但条件是这些人的重量之和最多为 limit。 返回 承载所有人所需的最小船数 。 这里有一个条件,每艘船最多同时载两人,就变简单了。我考虑了载一个最重和最轻的人,然后还可以加一个稍微轻点的的人,这里就

​LeetCode解法汇总881. 救生艇

目录链接: 力扣编程题-解法汇总_分享+记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接:. - 力扣(LeetCode) 描述: 给定数组 people 。people[i]表示第 i 个人的体重 ,船的数量不限,每艘船可以承载的最大重量为 limit。 每艘船最多可同时

Java数据结构与算法(leetcode热题881. 救生艇)

前言 救生艇属于贪心算法,解题之前条件一定要归纳好。题目中存在3个要求: 1.一艘船最多坐2人 2.船数要求最小 3.每艘船重量小于limit 意味着体重较轻的两人可以同乘一艘救生艇。 . - 力扣(LeetCode) 实现原理 1.重量大的有轻的可以配对,则可以配对同乘。 2.重量大的没有轻的可以配对,则单独乘。 3.涉及到轻重配对,最佳还是优先给予排序好的数据进行配对。

881救生艇

给定数组 people 。people[i]表示第 i 个人的体重 ,船的数量不限,每艘船可以承载的最大重量为 limit。 每艘船最多可同时载两人,但条件是这些人的重量之和最多为 limit。 返回 承载所有人所需的最小船数 。 分析: 贪心策略:先将people数组从小到大排序,考虑第一个人,如果他和最后一个人不能乘坐同一条船,那么最后一个人只能单独分配一条船。再考虑倒数第二个人,

881. 救生艇 Medium

给定数组 people 。people[i]表示第 i 个人的体重 ,船的数量不限,每艘船可以承载的最大重量为 limit。 每艘船最多可同时载两人,但条件是这些人的重量之和最多为 limit。 返回 承载所有人所需的最小船数 。 示例 1: 输入:people = [1,2], limit = 3输出:1解释:1 艘船载 (1, 2) 示例 2: 输入:people = [3,

881. 救生艇

题目 给定数组 people。people[i] 表示第 i 个人的体重,船的数量不限,每艘船可以承载的最大重量为 limit。 每艘船最多可同时载两人,但条件是这些人的重量之和最多为 limit。 返回承载所有人所需的最小船数。 示例 1: 输入:people = [1,2], limit = 3输出:1解释:1 艘船载 (1, 2) 示例 2: 输入:people = [3,2,

【LeetCode】881 救生艇 中等题

给定数组 people 。people[i]表示第 i 个人的体重 ,船的数量不限,每艘船可以承载的最大重量为 limit。 每艘船最多可同时载两人,但条件是这些人的重量之和最多为 limit。 返回 承载所有人所需的最小船数 。 示例 1: 输入:people = [1,2], limit = 3输出:1解释:1 艘船载 (1, 2) 示例 2: 输入:people = [

【LeetCode双指针】881 救生艇 Boats to Save People(java实现)

文章目录 题目描述一、解题思路二、代码1.救生艇2.执行时间 总结 题目描述 给定数组 people 。people[i]表示第 i 个人的体重 ,船的数量不限,每艘船可以承载的最大重量为 limit。每艘船最多可同时载两人,但条件是这些人的重量之和最多为 limit。返回承载所有人所需的最小船数 。 示例 1: 输入:people = [1,2], limit =