253. Meeting Rooms II

253. Meeting Rooms II

Description

Given an array of meeting time intervals intervals where intervals[i] = [starti, endi], return the minimum number of conference rooms required.

Example 1:

1
2
Input: intervals = [[0,30],[5,10],[15,20]]
Output: 2

Example 2:

1
2
Input: intervals = [[7,10],[2,4]]
Output: 1

Constraints:

  • 1 <=intervals.length <= 10^4
  • 0 <= starti < endi <= 10^6

Hints/Notes

  • 2025/01/03
  • diff array
  • premium

Solution

Language: C++

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Solution {
public:
int minMeetingRooms(vector<vector<int>>& intervals) {
map<int, int> diff;
for (auto& i : intervals) {
int start = i[0], end = i[1];
diff[start]++;
diff[end]--;
}
int cur = 0, sum = 0;
for (auto& [_, v] : diff) {
cur += v;
sum = max(cur, sum);
}
return sum;
}
};