Boats to Save People
You are given an array people where people[i] is the weight of the i^th person, and an infinite number of boats where each boat can carry a maximum weight of limit. Each boat carries at most two people at the same time, provided the sum of the weight of those people is at most limit.
Return the minimum number of boats to carry every given person.
Example 1
Input
people = [1,2], limit = 3Output
1One boat can carry both people with weights 1 and 2 because their sum is 3.
Example 2
Input
people = [3,2,2,1], limit = 3Output
3Three boats are needed: one for weights 1 and 2, one for weight 2, and one for weight 3.
Constraints
- 1 <= people.length <= 5 * 10^4
- 1 <= people[i] <= limit <= 3 * 10^4