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