classSolution{public:intfindKthLargest(vector<int>& nums,int k){
map<int,int,greater<int>> u_map;for(constauto& n: nums)
u_map[n]++;//vector<pair<int,int>> v_val_times{u_map.begin(), u_map.end()}for(map<int,int>::const_iterator it = u_map.begin(); it != u_map.end();++it){int size =(*it).second;
k -= size;if(k <=0)return(*it).first;}return0;}};
借助优先队列,大顶堆进行求解
classSolution{public:intfindKthLargest(vector<int>& nums,int k){
priority_queue<int>q(nums.begin(), nums.end());for(int i =0; i < k -1; i++){
q.pop();}return q.top();}};