- 贪心
给定数组 people 。people[i]表示第 i 个人的体重 ,船的数量不限,每艘船可以承载的最大重量为 limit。
每艘船最多可同时载两人,但条件是这些人的重量之和最多为 limit。
返回 承载所有人所需的最小船数 。
- 示例
输入:people = [3,5,3,4], limit = 5
输出:4
- 代码
class Solution {
public int numRescueBoats(int[] people, int limit) {
Arrays.sort(people);
int res = 0;
int left = 0;
int right = people.length - 1;
while (left <= right) {
if (people[right] + people[left] <= limit) {
left++;
}
right--;
res++;
}
return res;
}
}