当前位置:网站首页>leetcode: 253. How many meeting rooms are required at least
leetcode: 253. How many meeting rooms are required at least
2022-08-04 14:36:00 【OceanStar's study notes】
题目来源
题目描述

题目解析
最小堆
分析:
- 这里一定要把所有会议全部安排完,所以一定需要遍历这些数组
- 首先,一堆会议时间是杂乱无章的,为了让其有序,我们可以将其排序,那么问题是以起始时间排序还是以终止时间排序?
- 思考,这道题我们要解决的问题是:当观察到一个会议时,需不需要另外安排会议室?
- 从这个思路来看,我们考虑的顺序是按照会议开始的时间,因此这里按照会议起始的时间来排序
- 排序后遇到的另一个问题是,当一个新会议开始的时候,我们要怎么确定这个时候是否有之前空出来的会议室
- 因此我们还要对会议的结束时间进行统计,每当一个会议开始,我们就去检查这个会议之前开始的会议的结束时间的最小值.所以我们可以维护一个最小堆用于记录结束时间.
小结:
- 先按照开始时间对这些数组进行排序
- 然后准备一个最小堆,这个最小堆维护的是当前会议之前开始的会议的结束时间.怎么维护呢?
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;
}
边栏推荐
- 技术分享| 小程序实现音视频通话
- 如何确定异步 I/O 瓶颈
- 特殊品种的二次开户验资金额
- This week to discuss the user experience: Daedalus Nemo to join Ambire, explore the encryption of the ocean
- Find My Technology | Prevent your pet from getting lost, Apple Find My technology can help you
- xpath获取带命名空间节点注意事项
- The Internet of things application development trend
- Google plug-in. Download contents file is automatically deleted after solution
- leetcode:253. 至少需要多少间会议室
- 电子行业MES管理系统有哪些特殊功能
猜你喜欢

SLAM 04.视觉里程计-1-相机模型

【Web技术】1401- 图解 Canvas 入门

阿里老鸟终于把测试用例怎么写说的明明白白了,小鸟必看

一看就会的Chromedriver(谷歌浏览器驱动)安装教程

【硬件架构的艺术】学习笔记(1)亚稳态的世界

leetcode:253. 至少需要多少间会议室

Problem solving-->Online OJ (18)

Theory 1: Deep Learning - Detailed Explanation of the LetNet Model

Rust from entry to proficient 04-variables

metaRTC5.0新版本支持mbedtls(PolarSSL)
随机推荐
利用决策树找出最优特征组合
oracle+RAC+linux5.1所需要安装的包
Theory 1: Deep Learning - Detailed Explanation of the LetNet Model
Android Sqlite3基本命令
[Beiya data recovery] IBM System Storage storage lvm information lost data recovery solution
FRED应用:毛细管电泳系统
MySQL【窗口函数】【共用表表达式】
C# winforms 输入颜色转换颜色名
Find My技术|防止你的宠物跑丢,苹果Find My技术可以帮到你
B.构造一个简单的数列(贪心)
How to write SQL statements: the usage of Update, Case, and Select together
兆骑科创创新创业大赛活动举办,线上直播路演,投融资对接
AlphaFold 如何实现 AI 在结构生物学中的全部潜力
技术分享| 融合调度系统中的电子围栏功能说明
砺夏行动|九州云章津楠:开源不是少数人的运动,大众化才是源泉
解题-->在线OJ(十八)
AOSP built-in APP franchise rights white list
OAID是什么
How to automatically renew the token after it expires?
特殊品种的二次开户验资金额