class Solution {
public:
static int cmp(const pair<int,int>& p1,const pair<int,int>&p2)
{
return p1.second > p2.second;
}
vector<int> topKFrequent(vector<int>& nums, int k) {
map<int,int>mp;
vector<int>ans;
for(int i = 0;i<nums.size();i++)
{
mp[nums[i]]++;
}
vector<pair<int,int>>v;
for(auto it = mp.begin();it!= mp.end();it++)
{
v.push_back(make_pair(it->first,it->second));
}
sort(v.begin(),v.end(),cmp);
for(int i = 0;i<k;i++)
{
ans.push_back(v[i].first);
}
return ans;
}
};