LC9.18
LC9-18
给你一个下标从 0 开始长度为 n
的整数数组 buses
,其中 buses[i]
表示第 i
辆公交车的出发时间。同时给你一个下标从 0 开始长度为 m
的整数数组 passengers
,其中 passengers[j]
表示第 j
位乘客的到达时间。所有公交车出发的时间互不相同,所有乘客到达的时间也互不相同。
给你一个整数 capacity
,表示每辆公交车 最多 能容纳的乘客数目。
每位乘客都会搭乘下一辆有座位的公交车。如果你在 y
时刻到达,公交在 x
时刻出发,满足 y <= x
且公交没有满,那么你可以搭乘这一辆公交。最早 到达的乘客优先上车。
返回你可以搭乘公交车的最晚到达公交站时间。你 不能 跟别的乘客同时刻到达。
**注意:**数组 buses
和 passengers
不一定是有序的。
示例 1:
1 |
|
示例 2:
1 |
|
提示:
n == buses.length
m == passengers.length
1 <= n, m, capacity <= 105
2 <= buses[i], passengers[i] <= 109
buses
中的元素 互不相同 。passengers
中的元素 互不相同 。
要实现最晚上车有两种情况,第一种是车都有人做的情况下,插队到最后一个人的前面,第二种情况,车没坐满的情况下,卡点上车。由于不能重复别人的上车时间,所以需要用set来判断下。
1 |
|
- 时间复杂度: O(nlogn+nlogm)
- 空间复杂度: O(1)
LC9.18
http://example.com/2024/09/18/LC9-18/