cppclass Solution {
public:
bool carPooling(vector<vector<int>>& trips, int capacity) {
// 创建一个事件数组,用于记录每个上车和下车事件
vector<pair<int, int>> events;
for (const auto& trip : trips) {
// 上车事件,乘客数量增加
events.push_back({trip[1], trip[0]});
// 下车事件,乘客数量减少
events.push_back({trip[2], -trip[0]});
}
// 按照位置排序事件数组
sort(events.begin(), events.end());
int currentPassengers = 0;
for (const auto& event : events) {
currentPassengers += event.second;
if (currentPassengers > capacity) {
return false;
}
}
return true;
}
};
本文作者:yowayimono
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!