File tree Expand file tree Collapse file tree 1 file changed +51
-0
lines changed Expand file tree Collapse file tree 1 file changed +51
-0
lines changed Original file line number Diff line number Diff line change
1
+ /**
2
+ * [Problem]: [920] Meeting Rooms
3
+ * (https://www.lintcode.com/problem/920/)
4
+ */
5
+
6
+ export class Interval {
7
+ start : number ;
8
+ end : number ;
9
+ constructor ( start : number , end : number ) {
10
+ this . start = start ;
11
+ this . end = end ;
12
+ }
13
+ }
14
+
15
+ export class Solution {
16
+ /**
17
+ * @param intervals: an array of meeting time intervals
18
+ * @return : if a person could attend all meetings
19
+ */
20
+ canAttendMeetings ( intervals : Interval [ ] ) : boolean {
21
+ //시간복잡도 O(n^2)
22
+ //공간복잡도 O(1)
23
+ function bruteForceFunc ( intervals : Interval [ ] ) : boolean {
24
+ for ( let i = 0 ; i < intervals . length ; i ++ ) {
25
+ for ( let j = i + 1 ; j < intervals . length ; j ++ ) {
26
+ const first = intervals [ i ] ;
27
+ const second = intervals [ j ] ;
28
+ if ( first . start < second . end && second . start < first . end ) {
29
+ return false ;
30
+ }
31
+ }
32
+ }
33
+
34
+ return true ;
35
+ }
36
+
37
+ //시간복잡도 O(nlogn)
38
+ //공간복잡도 O(1)
39
+ function sortedFunc ( intervals : Interval [ ] ) : boolean {
40
+ intervals . sort ( ( a , b ) => a . start - b . start ) ;
41
+
42
+ for ( let i = 0 ; i < intervals . length - 1 ; i ++ ) {
43
+ if ( intervals [ i ] . end > intervals [ i + 1 ] . start ) {
44
+ return false ;
45
+ }
46
+ }
47
+
48
+ return true ;
49
+ }
50
+ }
51
+ }
You can’t perform that action at this time.
0 commit comments