class Solution { public: vector<int> topKFrequent(vector<int>& nums, int k) { unordered_map<int, int> mp; for(int i=0;i<nums.size();i++) { mp[nums[i]]++; } priority_queue<pair<int,int>, vector<pair<int, int>>, greater<pair<int, int>>>minH; for(auto x:mp) { minH.push({x.second, x.first}); if(minH.size()>k) minH.pop(); } vector<int> ans; while(!minH.empty()) { ans.push_back(minH.top().second); minH.pop(); } return ans; } };
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter