LeetCode/problems/cpp/boats-to-save-people.cpp
Matej Focko 333866d1bc
chore: split solutions by language
Signed-off-by: Matej Focko <mfocko@redhat.com>
2023-06-02 17:19:02 +02:00

27 lines
665 B
C++

#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;
}
};