1
0
Fork 0
mirror of https://gitlab.com/mfocko/LeetCode.git synced 2024-11-14 09:59:41 +01:00
LeetCode/cpp/boats-to-save-people.cpp

28 lines
665 B
C++
Raw Normal View History

#include <algorithm>
#include <vector>
class Solution {
public:
int numRescueBoats(std::vector<int> people, int limit)
{
std::sort(people.begin(), people.end());
int counter = 0;
std::size_t left = 0, right = people.size() - 1;
while (left <= right && left < people.size() && right < people.size()) {
counter++;
// if they both it, shift the left pointer
if (left < right && people[left] + people[right] <= limit) {
left++;
}
// anyways, at least the heaviest person is included
right--;
}
return counter;
}
};