力扣911.在线选举

力扣911.在线选举

  • 类似1818. 将每个时刻的候选人存储 在时间段上做二分

cpp 复制代码
  class TopVotedCandidate {
      vector<int> time,person;
  public:
      TopVotedCandidate(vector<int>& persons, vector<int>& times) {
              int n = persons.size();
              unordered_map<int,int> cnt;
              int ms = 0,mi = 0;
              time = times;
  
              for(int i=0;i<n;i++)
              {
                  if(++cnt[persons[i]] >= ms)
                  {
                      ms = cnt[persons[i]];
                      mi = persons[i];
                  }
                  person.push_back(mi);
              }
      }
      
      int q(int t) {
          int idx = ranges::upper_bound(time,t) - time.begin() - 1;
          return person[idx];
      }
  };
相关推荐
在下赵某人13 分钟前
概率数据结构的设计原理与误差分析
数据结构·算法·哈希算法
CoderYanger20 分钟前
递归、搜索与回溯-综合练习:19.目标和
java·算法·leetcode·1024程序员节
mit6.82420 分钟前
dfs|mask^翻转
算法
kk哥889923 分钟前
如何在面试中展现自己的软实力?
面试·职场和发展·cocoa
SKYDROID云卓小助手38 分钟前
三轴云台之控制协同技术
服务器·网络·图像处理·人工智能·算法
The Last.H44 分钟前
Educational Codeforces Round 185 (Rated for Div. 2)A-C
c语言·c++·算法
fengfuyao9852 小时前
匈牙利算法的MATLAB实现
java·算法·matlab
路过君_P2 小时前
C++ 算法题解:迷宫寻路
c++·算法·深度优先
罗湖老棍子2 小时前
二维vector完全指南1:从定义到增删改查
数据结构·c++·算法·stl
再卷也是菜2 小时前
C++篇(22)LRU Cache
数据结构·c++·算法