美文网首页
火车站台数量问题

火车站台数量问题

作者: ak1947 | 来源:发表于2018-08-07 19:50 被阅读0次

火车站台数量问题

假设已知某个火车站的所有过往列车的到达arrival和离开departure时间(同一天),如果要求所有列车都不等待直接进站,问至少需要多少个站台。无需考虑晚点等特殊情况。

例如,
Input:
到达时间: arr[] = {9:00, 9:40, 9:50, 11:00, 15:00, 18:00}
离开时间: dep[] = {9:10, 12:00, 11:20, 11:30, 19:00, 20:00}

Output:
3 (最多有3辆列车同时进站(在11:00到11:20之间))


解题思路

题目要求找到所有时间中同时在车站的列车的最大数量。一个简单的方案是逐个检查每个车辆的停发时间段,然后看有多少个时间段区间与其有重合,记录最多的重合区间数目,即为待求解的答案。易知,此方法的时间复杂度为O(n^2)
认真思考后,其实可以有O(nlog_2 n)时间复杂度的方法。思路是将所有的事件 (到达或离开)按时间顺序排序,然后只记录当前还在车站(未离开的)列车。所有时间点中最多数量列车即待求解的答案。
例如,对于上面样例输入,将所有事件按时间排序后得到:

时间 事件 需要的站台数量
9:00 Arrival 1
9:10 Departure 0
9:40 Arrival 1
9:50 Arrival 2
11:00 Arrival 3
11:20 Departure 2
11:30 Departure 1
12:00 Departure 0
15:00 Arrival 1
18:00 Arrival 2
19:00 Departure 1
20:00 Departure 0

最多需要的站台数量是3,时间段为11:00~11:20

注意,在算法实现时,只需对到达时间arr数组,和离开时间dep数组进行单独排序,然后将两个有序数组再进行归并操作。

相关文章

  • 火车站台数量问题

    火车站台数量问题 假设已知某个火车站的所有过往列车的到达arrival和离开departure时间(同一天),如果...

  • 2019-04-11

    这是一列开往冬天的火车,窗外没有诗句,只有远去的站台、站台、站台。 ——朴树《火车开往冬天》

  • 火车站台

    01 那天,天很冷,我穿的很少,一个人站在冬天的寒冷中,一个人抱着自己还是感觉很冷。我跟着熙熙攘攘的人群一同挤进不...

  • 初见不见―黄山

    叶千喜欢火车,他觉得,火车从这个站台驶向下个站台像是一场场约定,火车上也都是赴约的人,为生活,为爱情,为想见的人。...

  • 【火车站台】2020.7.11

    没买上11.25的票,但有机会提前进站赶得上这趟车,结果走错边,还是没能赶上11.25的车,有点落差,可是,这不就...

  • 站台

    火车就要驶来,我站立在站台等她。 火车缓缓的停下,车门打开,站台瞬间挤满了人群。四处张望却寻不到她的踪影。战争不是...

  • 爱情故事70

    汉城火车站上满是丁香花的香气,已经有很多人聚集在站台上等着火车进站,当你到达火车站时,站台上有个人正在热切盼望你的...

  • 流浪

    某火车站的站台上。 此时的站台上站满了来自天南地北,五湖四海的人。...

  • 记忆中的站台

    上大学时候 我喜欢坐火车旅行 那时火车很慢 一路上可以认识很多朋友 每到一个站台 站台上都有流动的销售车 叫卖当地...

  • 多线程模拟火车站售票出现问题

    *模拟火车站售票 * 分析:火车票总数量,每售出一张数量减一 * 当火车票小于0张时,停止售票 * 使用多...

网友评论

      本文标题:火车站台数量问题

      本文链接:https://www.haomeiwen.com/subject/qfuavftx.html