Given an array of meeting time intervals intervals
where intervals[i] = [starti, endi]
, return the minimum number of conference rooms required.
Example 1:
Input: intervals = [[0,30],[5,10],[15,20]] Output: 2
Example 2:
Input: intervals = [[7,10],[2,4]] Output: 1
Constraints:
1 <= intervals.length <= 104
0 <= starti < endi <= 106
class Solution:
def minMeetingRooms(self, intervals: List[List[int]]) -> int:
heap=[]
for start,end in sorted(intervals):
if heap and start>=heap[0]:
heapq.heappop(heap)
heapq.heappush(heap,end)
return len(heap)
当中间房间数达到最大后,heap就一直维持这个个数
heap[0]是最小数
heappop
heappush