Menu
CoddyTech

Meeting Rooms II

你会得到一个会议列表,分为两个数组:第 i 个会议从 starts[i] 开始,到 ends[i] 结束。一个房间同一时间只能容纳一个会议;某个会议可以在另一个会议结束的那一刻,立即在同一房间开始。

编写一个名为 minMeetingRooms 的函数,返回容纳所有会议所需的最少房间数。

函数

minMeetingRooms(starts: integer-array, ends: integer-array) → integer
startsinteger-array
每场会议的开始时间
endsinteger-array
每场会议的结束时间,与其开始时间的索引相同
返回值integer
能容纳所有会议的最少房间数

约束条件

  • 1 ≤ starts.length == ends.length ≤ 5000
  • 0 ≤ starts[i] < ends[i] ≤ 106
  • 会议没有排序。两场会议可能完全相同。

示例

输入
starts = [4, 1, 7, 2]ends = [8, 5, 9, 6]
输出
3
解释
在时间 4,时间段为 1 到 5、2 到 6 和 4 到 8 的会议都在进行,因此你至少需要 3 间会议室。3 间就够了:时间段为 7 到 9 的会议可以使用在时间 5 腾出的会议室。
challenge icon

进阶

你还能指出每场会议安排在哪个房间吗?使用的房间数不要超过答案给出的数量。

重置代码
def minMeetingRooms(starts, ends):
    # 在这里编写代码

测试 #1

测试 #2

测试 #3

参数

starts = [4, 1, 7, 2]
ends = [8, 5, 9, 6]

预期输出

3