LeetCode_347. Top K Frequent Elements

題目描述:
在這裏插入圖片描述
思路1:使用優先隊列,優先隊列可參考優先隊列

class Solution {
public:
    vector<int> topKFrequent(vector<int>& nums, int k) {
        if(nums.empty()||k>nums.size())
            return {};
        vector<int> res;
        priority_queue<pair<int,int> > que;
        map<int,int> mp;
        for(auto n:nums)
            mp[n]++;
        for(auto it:mp){
            que.push({it.second,it.first});//注意pair對的訪問方式使用it.first
        }
        for(int i=0;i<k;i++){
            res.push_back(que.top().second);
            que.pop();
        }
        return res;
    }
};```

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章