Open Tcdian opened 3 years ago
/**
* @param {number[][]} trips
* @param {number} capacity
* @return {boolean}
*/
var carPooling = function(trips, capacity) {
const tripPassengers = [];
for (let i = 0; i < trips.length; i++) {
tripPassengers.push([-trips[i][0], trips[i][1]], [trips[i][0], trips[i][2]]);
}
tripPassengers.sort(([a], [b]) => b - a).sort(([, a], [, b]) => a - b);
for (let i = 0; i < tripPassengers.length; i++) {
capacity += tripPassengers[i][0];
if (capacity < 0) {
return false;
}
}
return true;
};
function carPooling(trips: number[][], capacity: number): boolean {
const tripPassengers: [number, number][] = [];
for (let i = 0; i < trips.length; i++) {
tripPassengers.push([-trips[i][0], trips[i][1]], [trips[i][0], trips[i][2]]);
}
tripPassengers.sort(([a], [b]) => b - a).sort(([, a], [, b]) => a - b);
for (let i = 0; i < tripPassengers.length; i++) {
capacity += tripPassengers[i][0];
if (capacity < 0) {
return false;
}
}
return true;
};
1094. Car Pooling
假设你是一位顺风车司机,车上最初有
capacity
个空座位可以用来载客。由于道路的限制,车 只能 向一个方向行驶(也就是说,不允许掉头或改变方向,你可以将其想象为一个向量)。这儿有一份乘客行程计划表
trips[][]
,其中trips[i] = [num_passengers, start_location, end_location]
包含了第i
组乘客的行程信息:这些给出的地点位置是从你的 初始 出发位置向前行驶到这些地点所需的距离(它们一定在你的行驶方向上)。
请你根据给出的行程计划表和车子的座位数,来判断你的车是否可以顺利完成接送所有乘客的任务(当且仅当你可以在所有给定的行程中接送所有乘客时,返回
true
,否则请返回false
)。Example 1
Example 2
Example 3
Example 4
Constraints
trips.length <= 1000
trips[i].length == 3
1 <= trips[i][0] <= 100
0 <= trips[i][1] < trips[i][2] <= 1000
1 <= capacity <= 100000