Back to DashboardView Problem Source
Meeting Rooms II
HardProblem Statement
Given an array of meeting time intervals consisting of start and end times [[s1,e1],[s2,e2],...], find the minimum number of conference rooms required.
Examples
Example 1:
- Input:
intervals = [[0,30],[5,10],[15,20]] - Output:
2
Approach 1 Min Heap:
/*class Meeting {
int start;
int end;
public Meeting(int start, int end) {
this.start = start;
this.end = end;
}
};*/
public int findMinimumMeetingRooms(List<Meeting> meetings) {
int minRooms = 1;
Collections.sort(meetings, (a, b) -> a.start - b.start);
var currentMeetings = new PriorityQueue<Meeting>((m1, m2) -> m1.end - m2.end);
for (var meeting: meetings) {
while (!currentMeetings.isEmpty() && currentMeetings.peek().end <= meeting.start) {
currentMeetings.poll();
}
currentMeetings.offer(meeting);
minRooms = Math.max(minRooms, currentMeetings.size());
}
return minRooms;
}
}
Status
Solved
Complexity
Time
O(n log n)Space
O(n)Tags
ArrayMerge IntervalsHeap
Date
2026-02-25