文章目录
题目
代码(8.31 首刷看解析)
用优先队列存储在工作的主持人,最后的结果就是优先队列的size
#include <functional>
#include <queue>
class Solution {
public:
int minmumNumberOfHost(int n, vector<vector<int> >& startEnd) {
sort(startEnd.begin(), startEnd.end(), [&](auto a, auto b){
if(a[0] == b[0])
return a[1]<b[1];
return a[0] < b[0];
});
priority_queue<int, vector<int>, greater<int>> q;
for(auto& s : startEnd) {
if(!q.empty() && q.top() <= s[0]) { // 不用添加新的主持人
q.pop();
}
q.push(s[1]);
}
return q.size();
}
};