253. 会议室 II
问题:
给你一个会议时间安排的数组 intervals ,每个会议时间都会包括开始和结束的时间 intervals[i] = [starti, endi] ,返回 所需会议室的最小数量 。
示例 1:
输入:intervals = [[0,30],[5,10],[15,20]]
输出:2
示例 2:
输入:intervals = [[7,10],[2,4]]
输出:1
提示:
1 <= intervals.length <= 104
0 <= starti < endi <= 106
解决:
把所有的开始时间和结束时间放在一起排序, 用cur表示当前进行的会议数量,遍历排序后的时间数组 如果是开始时间,cur加1,如果是结束时间,cur减一
class Solution:
def minMeetingRooms(self, intervals: List[List[int]]) -> int:
meets = [(i[0],1) for i in intervals]+[(i[1],-1) for i in intervals]
meets.sort()
res,cur=0,0
for _,e in meets:
cur+=e
res=max(res,cur)
return res
2万+

被折叠的 条评论
为什么被折叠?



