253 - Meeting Rooms II
Written on November 2, 2015
Tweet
Given an array of meeting time intervals consisting of start and end times [[s1,e1],[s2,e2],…] (si < ei), find the minimum number of conference rooms required.
from heapq import heappush, heapreplace
class Solution:
def minMeetingRooms(self, intervals: List[List[int]]) -> int:
if not intervals:
return 0
intervals.sort(key=lambda x: x[0])
heap = []
for interval in intervals:
if heap and interval[0] >= heap[0]:
heapreplace(heap, interval[1])
else:
heappush(heap, interval[1])
return len(heap)