class Solution {
public:
vector<int> topKFrequent(vector<int>& nums, int k) {
unordered_map<int,int>F;
vector<int>ans;
vector<int>res(nums.size(),0);
for(auto p:nums)
F[p]++;
for(auto p:F)res.push_back(p.second);
sort(res.begin(),res.end(),[](int &a,int &b){return a>b;});
int n=res[k-1];
for(auto p:F)
if(p.second>=n)
ans.push_back(p.first);
return ans;
}
};