Skip to main content
← Problem catalogue Understand the pattern. Try it yourself. Review the solution. Practice this pattern →
Medium Two Pointers Medium frequency Solution Available Practice Mode

Boats to Save People LeetCode Solution

Tags: #Array #Two Pointers #Greedy #Sorting

Approach Summary

Sort, then greedily pair heaviest with lightest if they fit together; otherwise send heaviest alone.

Practice Mode

Solve it yourself before revealing the code

DSA interviews test reasoning from brute force to optimal. Think through the constraints first.

Algorithmic Pattern

Master the Two Pointers Pattern

View Pattern Guide →

Study the core invariant, step-by-step decision framework, and common interview traps for the Two Pointers pattern.

Framework: Two Pointers • Interview Prep: Tested at FAANG • Explore all Two Pointers problems & invariants →

How to Recognize This Pattern

  • Pair lightest + heaviest together if weight allows
  • Greedy: always try to fill each boat

Complexity Analysis

Time Complexity

O(n log n)

Space Complexity

O(1)

Tags

Array Two Pointers Greedy Sorting

Frequently Asked Questions

What is the optimal time and space complexity for Boats to Save People?
The optimal solution for Boats to Save People achieves O(n log n) runtime complexity and requires O(1) auxiliary space. Time Complexity: O(n log n) — each element or state is traversed and evaluated in bounded amortized time without redundant reprocessing. Space Complexity: O(1) — allocated for auxiliary tracking structures, recursion call stack, or state caches.
How do I identify that Boats to Save People requires the Two Pointers pattern?
In technical interviews, look for key problem signals: Pair lightest + heaviest together if weight allows; Greedy: always try to fill each boat. Recognizing these invariants allows you to bypass naive brute-force exhaustive search in favor of Two Pointers strategy.
What critical edge cases must be handled in Boats to Save People?
Essential edge cases to verify include: Key recognition trigger: Pair lightest + heaviest together if weight allows.; Constraint condition: Greedy: always try to fill each boat.; Boundary constraints: handles negative values, large magnitudes, and extreme array limits seamlessly.; Suboptimal inputs: runs strictly within the O(n log n) time budget without stack overflow or time limit exceeded.. Always walk through these scenarios with your interviewer before coding.
Which tech companies frequently ask Boats to Save People?
Boats to Save People is a Medium-difficulty question tagged with medium recurrence. It is actively asked in technical screening and onsite interview loops at Amazon, Google.
Buy me a coffee
Daily Practice
0/0