Back to all solutions
#253 - Meeting Rooms II
Problem Description
Given an array of meeting time intervals intervals where intervals[i] = [starti, endi], return the minimum number of conference rooms required.
Solution
/**
* @param {number[][]} intervals
* @return {number}
*/
var minMeetingRooms = function(intervals) {
const starts = intervals.map(([start]) => start).sort((a, b) => a - b);
const ends = intervals.map(([, end]) => end).sort((a, b) => a - b);
let rooms = 0;
let startIndex = 0;
let endIndex = 0;
let result = 0;
while (startIndex < intervals.length) {
if (starts[startIndex] < ends[endIndex]) {
rooms++;
result = Math.max(result, rooms);
startIndex++;
} else {
rooms--;
endIndex++;
}
}
return result;
};