leetcode 347 Top K Frequent Elements C++

来源:互联网 发布:淘宝企业开店 编辑:程序博客网 时间:2024/05/22 12:40

先记录每个数字出现的次数,然后用堆排序取出最大的k个。

    vector<int> topKFrequent(vector<int>& nums, int k) {        int size = nums.size();        unordered_map<int,int> map;        vector<int> result;        for(int i = 0;i<size;i++){            map[nums[i]]++;        }                priority_queue<pair<int,int>> priQue;                for(auto it:map){            priQue.push(make_pair(it.second,it.first));        }                            for(int i = 0;i<k;i++){            result.push_back(priQue.top().second);            priQue.pop();        }                return result;    }


0 0
原创粉丝点击