Skip to main content
Back to problems
#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)
LeetCode
solution.rs
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
  }
}