Car Pooling LeetCode solution in JavaScript

1
/**
2
* @param {number[][]} trips
3
* @param {number} capacity
4
* @return {boolean}
5
*/
6
var carPooling = function (trips, capacity) {
7
// sort trips by destination distance
8
trips.sort((a, b) => a[2] - b[2]);
9

10
// build result array, using max distance
11
const lastTrip = trips[trips.length - 1];
12
const maxDistance = lastTrip[lastTrip.length - 1];
13
const arr = new Array(maxDistance + 1).fill(0);
14

15
// build partial sum array
16
for (const [val, start, end] of trips) {
17
arr[start] += val;
18
arr[end] -= val;
19
}
20

21
// build combined sum array
22
let sum = 0;
23
for (let i = 0; i < arr.length; i++) {
24
sum += arr[i];
25
if (sum > capacity) return false;
26
}
27

28
return true;
29
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0