給你一個整數陣列 nums 和一個整數 k ,請你返回其中出現頻率前 k 高的元素。你可以按 任意順序 返回答案。
示例 1:
輸入: nums = [1,1,1,2,2,3], k = 2
輸出: [1,2]
示例 2:
輸入: nums = [1], k = 1
輸出: [1]
class Solution {
public:
vector<int> topKFrequent(vector<int>& nums, int k) {
unordered_map<int,int>pin;
for(int num:nums)
{
pin[num]++;
}
vector<pair<int,int>>pinV(pin.begin(),pin.end());
sort(pinV.begin(),pinV.end(),[](pair<int,int>&a,pair<int,int>&b){
return a.second>b.second;
});
vector<int>re;
for(int i=0;i<k;i++)
{
re.push_back(pinV[i].first);
}
return re;
}
};