力扣1942.最小未被占据椅子的编号

力扣1942.最小未被占据椅子的编号

  • 用两个对组数组存到达的离开时间及其编号

    • 遍历到达时间 同时处理之前所有离开时间
    • 离开就把座位清空 再给当前到达的安排座位
  •   class Solution {
      public:
          int smallestChair(vector<vector<int>>& times, int targetFriend) {
              int n = times.size();
              vector<pair<int,int>> arrival;
              vector<pair<int,int>> leaving;
              for(int i=0;i<n;i++)
              {
                  arrival.emplace_back(times[i][0],i);
                  leaving.emplace_back(times[i][1],i);
              }
              sort(arrival.begin(), arrival.end());
              sort(leaving.begin(), leaving.end());
              priority_queue<int,vector<int>,greater<int>> available;
              for(int i=0;i<n;i++)
                  available.push(i);
              
              unordered_map<int,int> seats;
              int j = 0;
              for(auto &&[time,person] : arrival)
              {
                  while(j < n && leaving[j].first <= time)
                  {
                      available.push(seats[leaving[j].second]);
                      j ++;
                  }
                  int seat = available.top();
                  seats[person] = seat;
                  available.pop();
                  if(person == targetFriend)
                      return seat;
              }
              return -1;
          }
      };
    

相关推荐

  1. 1942.占据椅子编号

    2024-07-20 22:12:02       16 阅读
  2. 每日一题】2397列覆盖多行数

    2024-07-20 22:12:02       46 阅读
  3. 209-长度子数组

    2024-07-20 22:12:02       58 阅读
  4. 0111——二叉树深度

    2024-07-20 22:12:02       58 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-20 22:12:02       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-20 22:12:02       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-20 22:12:02       45 阅读
  4. Python语言-面向对象

    2024-07-20 22:12:02       55 阅读

热门阅读

  1. linux LED代码设计

    2024-07-20 22:12:02       19 阅读
  2. 【深度学习图像】拼接图的切分

    2024-07-20 22:12:02       15 阅读
  3. dp算法第三天(暑期提升)

    2024-07-20 22:12:02       20 阅读
  4. RabbitMQ 全面解析与常见问题解答

    2024-07-20 22:12:02       17 阅读
  5. 关于大数据技术栈的一些总结

    2024-07-20 22:12:02       17 阅读
  6. 酒茶元宇宙:探索科技与传统文化的融合

    2024-07-20 22:12:02       12 阅读
  7. 移动支付行业现状及其特点

    2024-07-20 22:12:02       17 阅读
  8. Kubernetes v1.30:只读卷挂载可以实现只读了

    2024-07-20 22:12:02       18 阅读
  9. Unity运行时节点编辑器——互动电影案例

    2024-07-20 22:12:02       17 阅读
  10. flask渲染页码

    2024-07-20 22:12:02       17 阅读