LeetCode 救生艇

题目地址:https://leetcode.cn/problems/boats-to-save-people/description/

给定数组 people 。peoplei表示第 i 个人的体重 ,船的数量不限,每艘船可以承载的最大重量为 limit。

每艘船最多可同时载两人,但条件是这些人的重量之和最多为 limit。

返回 承载所有人所需的最小船数 。

go 复制代码
// 思路:排序 双指针
// 如果 people[left]+people[right] > limit 说明右指针的人体重太大单独需要一个船
// 否则 people[left]和 people[right] 可以共上一艘船

func numRescueBoats(people []int, limit int) int {
	sort.Ints(people)
	ans := 0
	left := 0
	right := len(people) - 1
	for left <= right {
		if people[left]+people[right] > limit {
			right--
			ans++
		} else {
			left++
			right--
			ans++
		}
	}
	return ans
}
相关推荐
通信小呆呆13 小时前
当算法有了“五感”:多模态数据融合如何向人体感官协同学习?
人工智能·学习·算法·机器学习·机器人
benben04413 小时前
强化学习之DQN算法族(基于gymnasium开发)
算法
何以解忧,唯有..15 小时前
Go语言循环语句详解:for、range与循环控制
开发语言·算法·golang
想吃火锅100515 小时前
【leetcode】88.合并两个有序数组js
算法
生成论实验室16 小时前
机器人:一个自主运动的系统
人工智能·算法·语言模型·机器人·自动驾驶·agi·安全架构
Qres82116 小时前
算法复键——树状数组
数据结构·算法
H1785350909616 小时前
SolidWorks第四部分_直接实体建模特征9_替换面原理
线性代数·算法·机器学习·3d建模·solidworks
不会就选b16 小时前
算法日常・每日刷题--<二分查找>3
算法
绿算技术17 小时前
Mooncake 与绿算ForinnBase GroundPool如何联手打破推理僵局?
科技·算法·架构