力扣1353.最多可以参加的会议数目

力扣1353.最多可以参加的会议数目

  • 优先队列

    • 枚举时间i在i时刻仍开展的会议中选结束时间最近的那个
    • 优先队列存每天进行的会议
cpp 复制代码
  class Solution {
  public:
      int maxEvents(vector<vector<int>>& events) {
          int maxDay = 0;
          unordered_map<int,vector<int>> day2days;
          for(vector<int>& event : events)
          {
              //取最大数
              if(maxDay < event[1])
                  maxDay = event[1];
              //将每天开始的会议存下来
              day2days[event[0]].push_back(event[1]);
          }
          int res=0;
          //小根堆
          priority_queue<int,vector<int>,greater<>> q;
          for(int i=1;i<=maxDay;i++)
          {
              //能找到第i天开始的会议
              if(day2days.find(i) != day2days.end())
                  //全部push
                  for(int day : day2days[i])
                      q.push(day);
              //已经结束的pop掉
              while(!q.empty() && q.top() < i)
                  q.pop();
              //取出结束时间最近的
              if(!q.empty())
              {
                  q.pop();
                  res ++;
              }
          }
          return res;
      }
  };
相关推荐
sali-tec35 分钟前
C# 基于OpenCv的视觉工作流-章60-点点距离
图像处理·人工智能·opencv·算法·计算机视觉
nlpming1 小时前
OpenCode Skills 文档
算法
无限进步_1 小时前
二叉搜索树完全解析:从概念到实现与应用场景
c语言·开发语言·数据结构·c++·算法·github·visual studio
05候补工程师1 小时前
深度解构 ROS 2:如何手动调通 Nav2 A* 路径规划引擎
linux·人工智能·经验分享·算法·机器人
上弦月-编程2 小时前
【C语言逻辑题】谋杀案凶手是谁?——经典矛盾推理题详解
算法
天若有情6732 小时前
逆向玩家狂喜!用C++野生写法一键破解线性加密(不规范但巨好用)
开发语言·c++·算法
风筝在晴天搁浅2 小时前
剑指Offer 60.n个骰子的点数
算法
ProgramHelpOa3 小时前
Optiver 2026 OA 全面复盘|26NG / Intern 最新高频题型整理
人工智能·算法·机器学习
feifeigo1233 小时前
基于无迹变换的电网概率潮流分析 MATLAB 实现
开发语言·算法·matlab
Java成神之路-3 小时前
【算法刷题笔记】全题型导航目录
笔记·算法