Skip to content

Commit 7e0ca72

Browse files
authored
Create 2402-meeting-rooms-iii.js
1 parent 60a4870 commit 7e0ca72

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

2402-meeting-rooms-iii.js

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
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+
};

0 commit comments

Comments
 (0)