Menu
CoddyTech

Minimum Platforms

车站有一天的时刻表:列车 i 在 arrival[i] 时刻到达,并在 departure[i] 时刻离开。时间用 HHMM 数字表示,也就是省略冒号的钟表时间,所以 930 表示 09:30。

列车从到达的那一分钟起,一直到离开的那一分钟(包括这两分钟)都占用站台。因此,一列车到达时,如果另一列车正好在这一分钟离开,它就不能使用那列车的站台。

返回车站所需的最少站台数,确保没有列车需要等待。

函数

minimumPlatforms(arrival: integer-array, departure: integer-array) → integer
arrivalinteger-array
每列火车的到达时间,以 HHMM 数字表示
departureinteger-array
每趟列车的出发时间,以 HHMM 数字表示;departure[i] 属于 arrival[i]
返回值integer
同一分钟内车站停靠的列车数量最多时所需的最少站台数

约束条件

  • 1 ≤ arrival.length == departure.length ≤ 5000
  • 0 ≤ arrival[i] ≤ departure[i] ≤ 2359
  • 每个时间都是有效的 HHMM 时间:它的最后两位数字最多为 59。
  • 所有列车都在同一天运行。数组未排序。

示例

输入
arrival = [900, 1500, 920, 1520, 1000, 1530]departure = [930, 1600, 1010, 1535, 1100, 1545]
输出
3
解释
15:30 时,车站有三列火车:一列从 15:00 到 16:00,一列从 15:20 到 15:35,还有一列从 15:30 到 15:45。没有任何一分钟有四列火车同时停靠,所以 3 个站台就够了。
challenge icon

进阶

有些夜班列车在午夜前到达,午夜后出发,因此出发时间的数字比到达时间小。时刻表跨越午夜时,你会如何计算站台数量?

重置代码
def minimumPlatforms(arrival, departure):
    # 在这里编写代码

测试 #1

测试 #2

测试 #3

参数

arrival = [900, 1500, 920, 1520, 1000, 1530]
departure = [930, 1600, 1010, 1535, 1100, 1545]

预期输出

3