File tree Expand file tree Collapse file tree 1 file changed +40
-0
lines changed Expand file tree Collapse file tree 1 file changed +40
-0
lines changed Original file line number Diff line number Diff line change
1
+ /**
2
+ * @param {number } n
3
+ * @param {number[][] } meetings
4
+ * @return {number }
5
+ */
6
+ var mostBooked = function ( n , meetings ) {
7
+ const count = new Array ( n ) . fill ( 0 ) ;
8
+ const freeTime = new Array ( n ) . fill ( 0 ) ;
9
+ meetings . sort ( ( a , b ) => a [ 0 ] - b [ 0 ] ) ;
10
+ for ( let i = 0 ; i < meetings . length ; i ++ ) {
11
+ let minRoom = - 1 ;
12
+ let minTime = Number . MAX_SAFE_INTEGER ;
13
+ for ( let j = 0 ; j < n ; j ++ ) {
14
+ if ( freeTime [ j ] <= meetings [ i ] [ 0 ] ) {
15
+ count [ j ] ++ ;
16
+ freeTime [ j ] = meetings [ i ] [ 1 ] ;
17
+ minRoom = - 1 ;
18
+ break ;
19
+ }
20
+ if ( freeTime [ j ] < minTime ) {
21
+ minTime = freeTime [ j ] ;
22
+ minRoom = j ;
23
+ }
24
+ }
25
+ if ( minRoom !== - 1 ) {
26
+ count [ minRoom ] ++ ;
27
+ freeTime [ minRoom ] += meetings [ i ] [ 1 ] - meetings [ i ] [ 0 ] ;
28
+ }
29
+ }
30
+
31
+ let ans = 0 ;
32
+ let maxCount = count [ 0 ] ;
33
+ for ( let i = 1 ; i < n ; i ++ ) {
34
+ if ( count [ i ] > maxCount ) {
35
+ ans = i ;
36
+ maxCount = count [ i ] ;
37
+ }
38
+ }
39
+ return ans ;
40
+ } ;
You can’t perform that action at this time.
0 commit comments