Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Solution {
- public:
- vector<int> topKFrequent(vector<int>& nums, int k) {
- std::unordered_map<int, int> m;
- for(int n : nums) {
- m[n]++;
- }
- std::priority_queue<int, std::vector<int>, std::function<bool(int,int)>>
- q([&m](int a, int b){
- return m[a] > m[b];
- });
- for(auto& [n,_] : m) {
- q.push(n);
- if (q.size() > k) {
- q.pop();
- }
- }
- vector<int> res(q.size());
- std::copy(&(q.top()), &(q.top()) + q.size(), &res[0]);
- return res;
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement