3.Top K Frequent Elements
Example 1:
Input: nums = [1,1,1,2,2,3], k = 2
Output: [1,2]
Example 2:
Input: nums = [1], k = 1
Output: [1]Solution: (Using Priority Queue and Hashmaps)
class Solution
{
public:
vector<int> topKFrequent(vector<int> &nums, int k)
{
unordered_map<int, int> m;
vector<int> v;
for (int i = 0; i < nums.size(); i++)
{
if (m.find(nums[i]) == m.end())
{
m.insert({nums[i], 1});
}
else
{
m[nums[i]]++;
}
}
priority_queue<pair<int, int>, vector<pair<int, int>>> pq;
for(auto itr=m.begin();itr!=m.end();itr++){
pq.push({itr->second,itr->first});
}
for (int i = 0; i < k; i++)
{
v.push_back(pq.top().second);
pq.pop();
}
return v;
}
};Solution: (Quick Select)
Last updated