Minimum Meeting Rooms
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[][]) → intExamples
Example 1
intervals = [[0,30],[5,10],[15,20]]return = 2The long meeting overlaps each shorter meeting; the shorter meetings share a second room.
Example 2
intervals = [[7,10],[2,4]]return = 1The meetings do not overlap.
Example 3
intervals = [[1,3],[3,5],[5,8]]return = 1A 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.