news 2026/2/25 8:32:40

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/2/24 20:26:59

容量规划预测模型:基础设施投入精准测算

容量规划预测模型&#xff1a;基础设施投入精准测算 在AI服务大规模上线的今天&#xff0c;一个看似简单的问题却困扰着无数工程团队&#xff1a;我们到底需要多少GPU&#xff1f;采购少了&#xff0c;大促期间系统崩盘&#xff1b;买多了&#xff0c;资源常年闲置&#xff0c;…

作者头像 李华
网站建设 2026/2/22 23:30:40

日志留存策略优化:存储成本与法规遵从平衡

TensorRT 推理优化实战&#xff1a;如何释放 GPU 的极致性能 在自动驾驶系统每秒处理上千帧图像、智能客服要求毫秒级响应的今天&#xff0c;模型推理早已不再是“能跑就行”的阶段。当一个训练好的 PyTorch 模型从实验室走向生产环境时&#xff0c;真正的挑战才刚刚开始——我…

作者头像 李华
网站建设 2026/2/24 15:19:53

NVIDIA TensorRT镜像安装与配置最简教程

NVIDIA TensorRT镜像安装与配置最简教程 在AI模型日益复杂、部署场景愈加多样化的今天&#xff0c;推理性能已经成为决定系统能否落地的关键瓶颈。一个训练得再好的模型&#xff0c;如果在线上服务中响应迟缓、吞吐低下&#xff0c;那它的实际价值将大打折扣。尤其是在自动驾驶…

作者头像 李华
网站建设 2026/2/22 21:08:03

多语言翻译服务质量保障:通信无国界的基石

多语言翻译服务质量保障&#xff1a;通信无国界的基石 在全球化浪潮席卷各行各业的今天&#xff0c;企业跨国协作、科研机构联合攻关、用户跨语言社交已成常态。然而&#xff0c;语言鸿沟依然是信息流通的隐形壁垒。尽管深度学习驱动的神经机器翻译&#xff08;NMT&#xff09;…

作者头像 李华
网站建设 2026/2/22 22:15:20

跨区域数据同步加速:全球化业务的底层支撑

跨区域数据同步加速&#xff1a;全球化业务的底层支撑 在当今全球化的数字生态中&#xff0c;用户对服务响应速度的容忍度正变得越来越低。无论是欧洲消费者在午夜下单购物、东南亚用户与语音助手对话&#xff0c;还是美洲金融机构进行实时反欺诈决策&#xff0c;他们都不希望因…

作者头像 李华
网站建设 2026/2/24 23:17:15

植物养护提醒机器人:阳台绿植不再轻易枯萎

植物养护提醒机器人&#xff1a;阳台绿植不再轻易枯萎 在城市生活的方寸阳台上&#xff0c;一盆绿植往往承载着人们对自然的向往。然而&#xff0c;工作繁忙、出差频繁&#xff0c;常常让人忘记浇水、忽视光照——再顽强的生命也扛不住长期疏于照料。于是&#xff0c;我们开始思…

作者头像 李华