File tree Expand file tree Collapse file tree 1 file changed +48
-0
lines changed Expand file tree Collapse file tree 1 file changed +48
-0
lines changed Original file line number Diff line number Diff line change
1
+ from typing import (
2
+ List ,
3
+ )
4
+ from lintcode import (
5
+ Interval ,
6
+ )
7
+
8
+ """
9
+ Definition of Interval:
10
+ class Interval(object):
11
+ def __init__(self, start, end):
12
+ self.start = start
13
+ self.end = end
14
+ """
15
+
16
+ class Solution :
17
+ """
18
+ @param intervals: an array of meeting time intervals
19
+ @return: the minimum number of conference rooms required
20
+ """
21
+ def min_meeting_rooms (self , intervals : List [Interval ]) -> int :
22
+
23
+ # ν¬ν¬μΈν°
24
+ # μκ°λ³΅μ‘λ O(n log n) , 곡κ°λ³΅μ‘λ O(n)
25
+
26
+ # μμ μκ°κ³Ό μ’
λ£ μκ°μ κ°κ° μ λ ¬
27
+ s = sorted ([i .start for i in intervals ])
28
+ e = sorted ([i .end for i in intervals ])
29
+
30
+ s_pointer = e_pointer = 0
31
+ rooms = max_rooms = 0
32
+
33
+ while s_pointer < len (intervals ):
34
+
35
+ # κΈ°μ‘΄ νμκ° λλκΈ° μ μ μλ‘μ΄ νμ μμ(μλ‘μ΄ λ°© νμ)
36
+ if s [s_pointer ] < e [e_pointer ]:
37
+ rooms += 1
38
+ s_pointer += 1
39
+ # κΈ°μ‘΄ νμ μ’
λ£(λ°© ν΄μ€)
40
+ else :
41
+ rooms -= 1
42
+ e_pointer += 1
43
+
44
+ # μ§κΈκΉμ§ νμν λ°©μ μ΅λκ°μ κ°±μ
45
+ max_rooms = max (max_rooms , rooms )
46
+
47
+ return max_rooms
48
+
You canβt perform that action at this time.
0 commit comments