FastPrepMinimum Meeting Rooms

Minimum Meeting Rooms

Oracle logoOracle● MediumFULLTIMEONSITE INTERVIEW
Learn

Problem statement

You are given meeting intervals [start, end]. Return the minimum number of rooms needed to hold every meeting without overlapping meetings in the same room.

Each interval is half-open: it includes its start and excludes its end. A meeting ending at time t may share a room with another starting at t. Input order is arbitrary; duplicate intervals represent separate meetings. Return 0 for no meetings.

Function

minMeetingRooms(intervals: int[][]) → int

Examples

Example 1

intervals = [[0,30],[5,10],[15,20]]return = 2

The long meeting overlaps each shorter meeting; the shorter meetings share a second room.

Example 2

intervals = [[7,10],[2,4]]return = 1

The meetings do not overlap.

Example 3

intervals = [[1,3],[3,5],[5,8]]return = 1

A room is reusable exactly at its previous meeting end.

Constraints

  • 0 <= intervals.length <= 100000.
  • Each row contains exactly two integers.
  • 0 <= start < end <= 10^9.

More Oracle problems

See Oracle hiring insights
public int minMeetingRooms(int[][] intervals) {
    // write your code here
}
intervals[[0,30],[5,10],[15,20]]
expected2
Checking account…