获取题库不需要订阅专栏,可直接私信我进入CSDN领军人物top1博主的华为OD交流圈观看完整题库、最新面试实况、考试报告等内容以及大佬一对一答疑。
题目描述
现有若干个会议,所有会议共享一个会议室,用数组表示各个会议的开始时间和结束时间,格式为:
[[会议1开始时间, 会议1结束时间], [会议2开始时间, 会议2结束时间]]
请计算会议室占用时间段。
输入描述
第一行输入一个整数 n,表示会议数量
之后输入n行,每行两个整数,以空格分隔,分别表示会议开始时间,会议结束时间
输出描述
输出多行,每个两个整数,以空格分隔,分别表示会议室占用时间段开始和结束
备注
- 会议室个数范围:[1, 100]
- 会议室时间段:[1, 24]
题目解析
题目要求我们找出所有会议占用的会议室时间段,并合并这些时间段。具体做法是:
1.创建一个列表或数组来保存所有会议的开始和结束时间。
2.对这个列表按照时间进行排序(先按开始时间排序,如果开始时间相同,则按结束时间排序)。
3.遍历排序后的列表,用一个变量来追踪当前会议室占用的结束时间(初始化为第一个会议的结束时间)。
4.遍历列表中的每个会议,如果当前会议的开始时间大于或等于追踪的结束时间,说明可以安排新的时间段,更新追踪的结束时间为当前会