https://leetcode-cn.com/problems/boats-to-save-people/
思路:贪心,我们从体重低的开始考虑,因为一艘船最多可以坐两个人,因此体重低的人应该尽可能的带一个体重最大的人,如果不满足重量限制,那么只能让体重最大的人单独一艘船了。
class Solution {
public:
int numRescueBoats(vector<int>& people, int limit) {
sort(people.begin(),people.end());
int l=0,r=people.size()-1,ans=0;
while(l<r)
{
if(people[l]+people[r]>limit)
++ans,--r;
else
++ans,--r,++l;
}
if(l==r)
++ans;
return ans;
}
};