车上最初有 capacity 个空座位。车 只能 向一个方向行驶(也就是说,不允许掉头或改变方向)

    给定整数 capacity 和一个数组 trips , trip[i] = [numPassengersi, fromi, toi] 表示第 i 次旅行有 numPassengersi 乘客,接他们和放他们的位置分别是 fromi 和 toi 。这些位置是从汽车的初始位置向东的公里数。

    当且仅当你可以在所有给定的行程中接送所有乘客时,返回 true,否则请返回 false。

    示例 1:

    输入:trips = [[2,1,5],[3,3,7]], capacity = 4
    输出:false
    示例 2:

    输入:trips = [[2,1,5],[3,3,7]], capacity = 5
    输出:true

    1. /**
    2. * @param {number[][]} trips
    3. * @param {number} capacity
    4. * @return {boolean}
    5. */
    6. var carPooling = function (trips, capacity) {
    7. let diff = new Array(1002).fill(0);
    8. let sum = 0;
    9. for (let [n, s, e] of trips) {
    10. diff[s] += n;
    11. diff[e] -= n; // e - 1 + 1
    12. }
    13. for (let i = 0; i < diff.length; i++) {
    14. sum += diff[i];
    15. if (sum > capacity) return false;
    16. }
    17. return true;
    18. };

    image.png