File tree 1 file changed +31
-0
lines changed
1 file changed +31
-0
lines changed Original file line number Diff line number Diff line change
1
+ /**
2
+ * @param {number } n
3
+ * @param {number[][] } reservedSeats
4
+ * @return {number }
5
+ */
6
+ var maxNumberOfFamilies = function ( n , reservedSeats ) {
7
+ const key = ( x , y ) => x + ',' + y ;
8
+ const map = new Map ( ) ;
9
+ for ( const [ x , y ] of reservedSeats ) {
10
+ const set = map . get ( x ) || new Set ( ) ;
11
+ if ( y >= 2 && y <= 3 ) {
12
+ set . add ( key ( x , 'l' ) ) ;
13
+ } else if ( y >= 4 && y <= 5 ) {
14
+ set . add ( key ( x , 'l' ) ) ;
15
+ set . add ( key ( x , 'm' ) ) ;
16
+ } else if ( y >= 6 && y <= 7 ) {
17
+ set . add ( key ( x , 'r' ) ) ;
18
+ set . add ( key ( x , 'm' ) ) ;
19
+ } else if ( y >= 8 && y <= 9 ) {
20
+ set . add ( key ( x , 'r' ) ) ;
21
+ }
22
+ map . set ( x , set ) ;
23
+ }
24
+ let result = n * 2 ;
25
+ for ( const set of map . values ( ) ) {
26
+ if ( set . size ) {
27
+ result -= ( set . size === 3 ) ? 2 : 1 ;
28
+ }
29
+ }
30
+ return result ;
31
+ } ;
You can’t perform that action at this time.
0 commit comments