meeting rooms ii
1from heapq import heappush as hpush
2from heapq import heappop as hpop
3from collections import namedtuple
4
5Interval = namedtuple("Interval", "start end")
6
7
8class Solution:
9 def minMeetingRooms(self, iv):
10 if iv:
11 iv = sorted([Interval(*v) for v in iv], key=lambda x: x.start)
12 f = [iv[0].end]
13 for i in iv[1:]:
14 if f[0] <= i.end:
15 hpop(f)
16 hpush(f, i.end)
17 return len(f)
18
19
20print(Solution().minMeetingRooms([[0, 30], [5, 10], [15, 25], [20, 30]]))