编辑
2023-12-02
算法题
00
请注意,本文编写于 525 天前,最后修改于 525 天前,其中某些信息可能已经过时。

题目

cpp
class 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 许可协议。转载请注明出处!