#253
Medium Algorithms Meeting rooms ii
Array Two Pointers Greedy Sorting Heap (Priority Queue) Prefix Sum
52.6% acceptance
Mar 31, 2026
7243
177
Given an array of meeting time intervals intervals where intervals[i] = [starti, endi], return the minimum number of conference rooms required.
Solution
Rust
Time O(n log n)
Space O(n)
impl Solution {
pub fn min_meeting_rooms(intervals: Vec<Vec<i32>>) -> i32 {
let mut events: Vec<(i32, i32)> = Vec::with_capacity(intervals.len() * 2);
for iv in &intervals {
events.push((iv[0], 1));
events.push((iv[1], -1));
}
events.sort_unstable();
let mut max_rooms = 0;
let mut cur = 0;
for (_, delta) in events {
cur += delta;
max_rooms = max_rooms.max(cur);
}
max_rooms
}
}