diff --git a/java/boats-to-save-people.java b/java/boats-to-save-people.java new file mode 100644 index 0000000..676bb3f --- /dev/null +++ b/java/boats-to-save-people.java @@ -0,0 +1,24 @@ +import java.util.Arrays; + +class Solution { + public int numRescueBoats(int[] people, int limit) { + Arrays.parallelSort(people); + + int counter = 0; + + int left = 0, right = people.length - 1; + while (left <= right && left < people.length && right >= 0) { + ++counter; + + // they both fit + if (left < right && people[left] + people[right] <= limit) { + ++left; + } + + // the heaviest person is always included + --right; + } + + return counter; + } +}