华为OD机试 2023最新 人数最多的站点(C++ 100%)
Posted 搞前端的半夏
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了华为OD机试 2023最新 人数最多的站点(C++ 100%)相关的知识,希望对你有一定的参考价值。
题目描述
公园园区提供小火车单向通行,从园区站点编号最小到最大通行如12341,然后供员工在各个办公园区穿梭,通过对公司N个员工调研统计到每个员工的坐车区间,包含前后站点,请设计一个程序计算出小火车在哪个园区站点时人数最多。
输入描述
第1个行,为调研员工人数
第2行开始,为每个员工的上车站点和下车站点。
使用数字代替每个园区用空格分割,如3 5表示从第3个园区上车,在第5个园区下车
输出描述
人数最多时的园区站点编号,最多人数相同时返回编号最小的园区站点
用例
题目解析
本题其实就是求解最大重叠区间个数的变种题。
即,我们只要找到具有最大重叠部分的区间的起点就是本题题解。
关于最大重叠区间个数求解,请看年年岁岁都容易挂的算法高频面试题,一线大厂经典面试题之堆和最大线段重合问题_哔哩哔哩_bilibili
上面视频的核心思想其实就是:
- 首先,将所有区间按开始位置升序
- 然后,遍历排序后区间,并将小顶堆中小于遍历区间起始位置的区间弹出(小顶堆实际存储区间结束位置),此操作后,小顶
以上是关于华为OD机试 2023最新 人数最多的站点(C++ 100%)的主要内容,如果未能解决你的问题,请参考以下文章
华为OD机试真题Python实现人数最多的站点真题+解题思路+代码(2022&2023)
华为OD机试真题 JS 实现求小火车最多人时所在园区站点人数最多的站点2023 Q1 | 100分