Meeting Rooms II
给定一系列的会议时间间隔intervals,包括起始和结束时间[[s1,e1],[s2,e2],…],找到所需的最小的会议室数量。
(区间重叠最多部分)
Example:
1. 排序
首先对所有区间进行标记,区分起始点和终止点,然后对所有时间节点进行排序(若时间相同保证结束点在开始点前面),再依次遍历每个点,遇到起始点+1,遇到终止点-1,并更新记录最大值。具体实现过程如下:
1 | def minMeetingRooms(intervals): |
2.求区间
维护两个数组分别保存开始时间和结束时间并排序;然后再遍历开始时间数组,这时不断地更新当前的区间的起止时间;在遇到开始时间大于结束时间时,更新新的结束时间。具体实现过程入下:
1 | # [[10, 14], [12, 16], [12, 18]] ---> (3, [12, 14]) |