## [253\. Meeting Rooms II](https://leetcode.com/problems/meeting-rooms-ii/) Given an array of meeting time intervals `intervals` where `intervals[i] = [starti, endi]`, return _the minimum number of conference rooms required_. **Example 1:** **Input:** intervals = \[\[0,30\],\[5,10\],\[15,20\]\] **Output:** 2 **Example 2:** **Input:** intervals = \[\[7,10\],\[2,4\]\] **Output:** 1 **Constraints:** - `1 <= intervals.length <= 104` - `0 <= starti < endi <= 106` ```cpp= class Solution { public: int minMeetingRooms(vector<vector<int>>& intervals) { int n = intervals.size(); sort(intervals.begin(), intervals.end()); priority_queue<int, vector<int>, greater<int>> minHeap; // #0: minHeap = [30]; // #1: minHeap = [10, 30]; // #2: minHeap = [10, 20]; for (auto& interval : intervals) { if (!minHeap.empty() && interval[0] >= minHeap.top()) { minHeap.pop(); } minHeap.push(interval[1]); } return minHeap.size(); } }; ``` :::success - 時間複雜度:$O(N \log N)$ - 空間複雜度:$O(N)$ :::