力扣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;
      }
  };
相关推荐
cpp_25012 小时前
P9586 「MXOI Round 2」游戏
数据结构·c++·算法·题解·洛谷
浅念-2 小时前
C语言编译与链接全流程:从源码到可执行程序的幕后之旅
c语言·开发语言·数据结构·经验分享·笔记·学习·算法
爱吃生蚝的于勒2 小时前
【Linux】进程信号之捕捉(三)
linux·运维·服务器·c语言·数据结构·c++·学习
有时间要学习3 小时前
面试150——第五周
算法·深度优先
数智工坊3 小时前
【数据结构-树与二叉树】4.6 树与森林的存储-转化-遍历
数据结构
晚霞的不甘4 小时前
Flutter for OpenHarmony 可视化教学:A* 寻路算法的交互式演示
人工智能·算法·flutter·架构·开源·音视频
望舒5134 小时前
代码随想录day25,回溯算法part4
java·数据结构·算法·leetcode
独好紫罗兰4 小时前
对python的再认识-基于数据结构进行-a006-元组-拓展
开发语言·数据结构·python
C++ 老炮儿的技术栈4 小时前
Qt 编写 TcpClient 程序 详细步骤
c语言·开发语言·数据库·c++·qt·算法
KYGALYX4 小时前
逻辑回归详解
算法·机器学习·逻辑回归