news 2026/6/9 20:54:08

leetcode 2402(双堆模拟,小根堆)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
leetcode 2402(双堆模拟,小根堆)

2402: 会议室Ⅲ

思路:双堆模拟priority_queue

按照时间顺序模拟开会过程。

对于会议 [start,end),我们需要知道:

  • 在 start 时刻空闲的会议室中,编号最小的会议室。可以用一个最小堆 idle 维护空闲会议室的编号。
  • 如果没有空闲的会议室呢?我们需要找最早结束的会议室。可以用一个最小堆 inUse 维护使用中的会议室的结束时间和编号。

这两类会议室是互补关系,伴随着会议的开始和结束,会议室在这两类中来回倒:

  • 首先,从 inUse 中去掉结束时间小于等于 start的所有会议室,将其编号添加到 idle 中。(使用结束)
  • 然后分类讨论:
    如果此时有空闲的会议室,那么从 idle 中弹出编号最小的会议室,和 end 一起,添加到 inUse 中。
    否则,从 inUse 中弹出一个最早结束的会议室(若有多个同时结束,弹出编号最小的会议室),顺延会议的结束时间为 end+e−start。

在上述模拟的过程中,每使用一个编号为 i 的会议室,就把 i 的出现次数加一。返回举办最多次会议的房间编号。如果存在多个房间满足此条件,则返回编号最小的房间。

注意题目保证所有会议的开始时间互不相同。

class Solution { public: int mostBooked(int n, vector<vector<int>>& meetings) { ranges::sort(meetings,{},[](auto& m){return m[0];}); //小根堆(堆顶最小) priority_queue<int,vector<int>,greater<>> idle; //会议室编号 for(int i=0;i<n;i++) idle.push(i); //{结束时间,会议室编号} priority_queue<pair<long long,int>,vector<pair<long long,int>>,greater<>> inUse; vector<int> cnt(n); //使用次数 for(auto& m:meetings){ long long start=m[0],end=m[1]; //在start时刻空出来的会议室 while(!inUse.empty() && inUse.top().first<=start){ //使用结束 idle.push(inUse.top().second); inUse.pop(); } int i; if(!idle.empty()){ //有空闲的会议室 i=idle.top(); idle.pop(); } else{ //没有空闲的会议室 auto[e,room]=inUse.top(); //弹出最早结束的会议室(若有多个同时结束,弹出编号最小的会议室) i=room; inUse.pop(); end+=e-start; //延期会议的持续时间和原会议持续时间相同 } inUse.emplace(end,i); cnt[i]++; } int ans=0; for(int i=0;i<n;i++){ if(cnt[i]>cnt[ans]) ans=i; } return ans; } };
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/5 10:10:38

在线教育防刷课机制:学习过程真实性验证

在线教育防刷课机制&#xff1a;学习过程真实性验证 在远程教学日益普及的今天&#xff0c;一个看似平静的学习界面背后&#xff0c;可能正上演着一场“人机对抗”——学生用自动化脚本挂机、多开虚拟机刷课、循环播放录屏视频&#xff0c;只为快速拿到学分。而平台方则不断升级…

作者头像 李华
网站建设 2026/6/9 19:43:12

电商运营数据分析的系统架构可适应性

运营数据分析的系统架构可适应性 关键词:运营数据分析、系统架构、可适应性、数据处理、业务变化 摘要:本文围绕运营数据分析的系统架构可适应性展开深入探讨。首先介绍了研究的背景、目的、预期读者和文档结构等内容。接着阐述了核心概念及其联系,通过文本示意图和 Mermaid…

作者头像 李华
网站建设 2026/6/5 9:57:23

新品上市效果预测:市场营销前期评估工具

新品上市效果预测&#xff1a;基于 TensorRT 的高性能推理实践 在消费品企业推出一款新品之前&#xff0c;市场团队最常问的问题是&#xff1a;“这款产品能卖多少&#xff1f;” 过去&#xff0c;这个问题的答案往往依赖于经验判断、小范围试销或简单的回归模型。但今天&#…

作者头像 李华
网站建设 2026/6/5 9:48:12

盲文输出转换工具:视障用户的信息入口

盲文输出转换工具&#xff1a;视障用户的信息入口 在数字信息爆炸的时代&#xff0c;屏幕上的每一个字符、每一张图片都可能成为视障群体难以逾越的“视觉高墙”。尽管语音读屏技术已广泛应用&#xff0c;但在需要精准阅读、反复确认或私密浏览的场景下&#xff0c;盲文依然是不…

作者头像 李华
网站建设 2026/6/9 19:42:38

系统崩溃根因定位:AI辅助故障诊断实践

系统崩溃根因定位&#xff1a;AI辅助故障诊断实践 在一次深夜的线上事故中&#xff0c;某大型云服务平台突然出现大规模服务降级。监控系统显示多个微服务响应延迟飙升&#xff0c;但日志中并未记录明显错误信息。运维团队紧急排查网络、数据库和中间件后仍无法锁定问题源头—…

作者头像 李华