链接:https://leetcode-cn.com/problems/boats-to-save-people/
先把数组排序,然后始终检查最大重量能否和最小重量上一艘船,若不行,则最大重量一人一艘。
class Solution {
public int numRescueBoats(int[] people, int limit) {
Arrays.sort(people);
int p1 = 0;
int p2 = people.length-1;
int ans = 0;
while(p1<=p2)
{
if(people[p1]+people[p2]<=limit)
p1++;
p2--;
ans++;
}
return ans;
}
}
该博客介绍了如何使用贪心算法和双指针策略解决LeetCode上的881题——救生艇问题。首先将输入数组排序,接着检查当前最大体重和最小体重是否能同乘一艘救生艇,如果不能,则最大体重者单独占用一艘艇。
436

被折叠的 条评论
为什么被折叠?



