- Published on

# Leetcode 881 - Boats to Save People solution

- Authors
- Name
- Imran Pollob
- Website
- @pollmix

### Solution:

The strategy is to sort the `people`

array first then set two pointers for the array. First pointer `left`

points at the first index and `right`

pointer points at last index. Then we just need to compare the summation of the two pointers value with the `limit`

and move pointers accordingly.

Time Complexity: O(n)

Space Complexity: O(1)

```
class Solution:
def numRescueBoats(self, people: List[int], limit: int) -> int:
people = sorted(people)
left = 0
right = len(people) - 1
c = 0
while left <= right:
if people[left] + people[right] > limit:
right -= 1
c += 1
else:
left += 1
right -= 1
c += 1
return c
```