#include "leetcode.h" class Solution { public: vector topKFrequent(vector &nums, int k) { unordered_map um; for (int n : nums) um[n]++; vector ans; priority_queue> pqp; for (auto it = um.begin(); it != um.end(); it++) { pqp.push(make_pair(it->second, it->first)); if (pqp.size() > um.size() - k) ans.push_back(pqp.top().second), pqp.pop(); } return ans; } };