Minimum Meeting Rooms
Problem statement
You are given a list of n meetings, where each meeting is represented by a start time and an end time. Your task is to determine the minimum number of meeting rooms required so that:
- No two meetings in the same room overlap.
- A meeting that ends at time
tand another that starts at timetdo not overlap and can use the same room.
Each meeting is given as:
meetingTimings[i] = [start, end]
Return the minimum number of rooms needed to schedule all meetings.
Function
minMeetingRooms(meetingTimings: int[][]) → intExamples
Example 1
meetingTimings = [[1,4],[1,5],[5,6],[6,10],[7,9]]return = 2Suppose n = 5 and meetingTimings = [[1, 4], [1, 5], [5, 6], [6, 10], [7, 9]].
Output: 2
- At time
1, meetings1and2start; meetings running:1, 2. - At time
4, meeting1ends; meeting running:2. - At time
5, meeting2ends and meeting3starts; meeting running:3. - At time
6, meeting3ends and meeting4starts; meeting running:4. - At time
7, meeting5starts; meetings running:4, 5. - At time
9, meeting5ends; meeting running:4. - At time
10, meeting4ends.
Meetings 1 and 2 overlap, as do 4 and 5. At least two meeting rooms are required.
Constraints
1 <= meetingTimings.length <= 2 * 10^6meetingTimings[i].length == 21 <= meetingTimings[i][0] <= meetingTimings[i][1] <= 2 * 10^6