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
Inputpeople = [1,2], limit = 3
Output1
One boat can carry both people with weights 1 and 2 because their sum is 3.
Example 2
Inputpeople = [3,2,2,1], limit = 3
Output3
Three 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

Asked at 11 companies

</>

Your Solution

(Ctrl/Cmd + Enter)

Switching Language

Loading template...

Loading...

Sign in to save your progress

AI code evaluation

Get a correctness verdict, missed edge cases, and complexity analysis of your solution.

Sign in to evaluate