当前位置:网站首页>leetcode:253. 至少需要多少间会议室
leetcode:253. 至少需要多少间会议室
2022-08-04 14:31:00 【OceanStar的学习笔记】
题目来源
题目描述

题目解析
最小堆
分析:
- 这里一定要把所有会议全部安排完,所以一定需要遍历这些数组
- 首先,一堆会议时间是杂乱无章的,为了让其有序,我们可以将其排序,那么问题是以起始时间排序还是以终止时间排序?
- 思考,这道题我们要解决的问题是:当观察到一个会议时,需不需要另外安排会议室?
- 从这个思路来看,我们考虑的顺序是按照会议开始的时间,因此这里按照会议起始的时间来排序
- 排序后遇到的另一个问题是,当一个新会议开始的时候,我们要怎么确定这个时候是否有之前空出来的会议室
- 因此我们还要对会议的结束时间进行统计,每当一个会议开始,我们就去检查这个会议之前开始的会议的结束时间的最小值。所以我们可以维护一个最小堆用于记录结束时间。
小结:
- 先按照开始时间对这些数组进行排序
- 然后准备一个最小堆,这个最小堆维护的是当前会议之前开始的会议的结束时间。怎么维护呢?
int minMeetingRooms(std::vector<std::vector<int>>intervals){
if(intervals.empty()){
return 0;
}
int minRooms = 0;
std::sort(intervals.begin(), intervals.end(), [](std::vector<int> &l, std::vector<int> &r){
return l[0] < r[0];
});
std::priority_queue<int, std::vector<int>, std::greater<>> pq;
// 第一个会议肯定是需要排序的
pq.emplace(intervals[0][1]);
for (int i = 1; i < intervals.size(); ++i) {
// 有一个会议室空出来了
if(intervals[i][0] >= pq.top()){
// 如果当前会议start >= 之前的end
pq.pop(); // 把之前的房间空出来
}
pq.emplace(intervals[i][1]);
}
return minRooms;
}
边栏推荐
- Why does the decimal point appear when I press the space bar in word 2003?
- 【 HMS core 】 【 Media 】 online video editing service 】 【 material can't show, or network anomalies have been Loading state
- Technology sharing | Mini program realizes audio and video calls
- 数据库恢复
- Technology sharing | Description of the electronic fence function in the integrated dispatching system
- [Opportunity Enlightenment-60]: "Soldiers, Stupid Ways"-1- Opening: "Death" and "Life" are the way of heaven
- 兆骑科创创新创业大赛活动举办,线上直播路演,投融资对接
- Phasecraft连下两城,助力英国量子技术商业化加速!
- SQL语句的写法:Update、Case、 Select 一起的用法
- 输入输出流总结
猜你喜欢

节省50%成本!京东云重磅发布新一代混合CDN产品

基于 Next.js实现在线Excel

Rust 从入门到精通04-变量

并发程序的隐藏杀手——假共享(False Sharing)

期货开户之前要谈好最低手续费和交返

Crawler - basic use of selenium, no interface browser, other uses of selenium, cookies of selenium, crawler cases

【 HMS core 】 【 Media 】 online video editing service 】 【 material can't show, or network anomalies have been Loading state

【模型部署与业务落地】基于量化芯片的损失分析

【北亚数据恢复】IBM System Storage存储lvm信息丢失数据恢复方案

技术分享| 小程序实现音视频通话
随机推荐
[深入研究4G/5G/6G专题-50]: URLLC-16-《3GPP URLLC相关协议、规范、技术原理深度解读》-10-高可靠性技术-1-低编码率编码调制方案MCS与高可靠性DRB
C# winforms 输入颜色转换颜色名
数据库恢复
【 HMS core 】 【 Media 】 online video editing service 】 【 material can't show, or network anomalies have been Loading state
centos7安装mysql急速版
四平方和,激光炸弹
zabbix自定义图形
js深拷贝和浅拷贝具体使用区别_es6深拷贝和浅拷贝
SQL语句的写法:Update、Case、 Select 一起的用法
没有Project Facets的解决方法
Crawler - action chain, xpath, coding platform use
Lixia Action | Kyushu Yunzhang Jinnan: Open source is not a movement for a few people, popularization is the source
利用决策树找出最优特征组合
【Web技术】1401- 图解 Canvas 入门
word2003按空格键为什么会出现小数点
九州云出席领航者线上论坛,共话5G MEC边缘计算现状、挑战和未来
兆骑科创创新创业大赛活动举办,线上直播路演,投融资对接
实际工作中的高级技术(训练加速、推理加速、深度学习自适应、对抗神经网络)
Set partition minimum difference problem (01 knapsack)
文盘Rust -- 配置文件解析