FastPrepMinimum Meeting Rooms

Minimum Meeting Rooms

JP Morgan Chase logoJP Morgan Chase● MediumNEW GRADINTERNOA

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 t and another that starts at time t do 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[][]) → int

Examples

Example 1

meetingTimings = [[1,4],[1,5],[5,6],[6,10],[7,9]]return = 2

Suppose n = 5 and meetingTimings = [[1, 4], [1, 5], [5, 6], [6, 10], [7, 9]].

Output: 2

  • At time 1, meetings 1 and 2 start; meetings running: 1, 2.
  • At time 4, meeting 1 ends; meeting running: 2.
  • At time 5, meeting 2 ends and meeting 3 starts; meeting running: 3.
  • At time 6, meeting 3 ends and meeting 4 starts; meeting running: 4.
  • At time 7, meeting 5 starts; meetings running: 4, 5.
  • At time 9, meeting 5 ends; meeting running: 4.
  • At time 10, meeting 4 ends.

Meetings 1 and 2 overlap, as do 4 and 5. At least two meeting rooms are required.

Constraints

  • 1 <= meetingTimings.length <= 2 * 10^6
  • meetingTimings[i].length == 2
  • 1 <= meetingTimings[i][0] <= meetingTimings[i][1] <= 2 * 10^6

More JP Morgan Chase problems

See JP Morgan Chase hiring insights
Saved
public int minMeetingRooms(int[][] meetingTimings) {
  // Write your code here.
}
meetingTimings[[1,4],[1,5],[5,6],[6,10],[7,9]]
expected2
Checking account…