LeetCode 347 前 K 个高频元素

LeetCode 347 前 K 个高频元素

题目链接

给定一个非空的整数数组,返回其中出现频率前 k 高的元素。

示例 1:

输入:

nums = [1,1,1,2,2,3], k = 2

输出:

[1,2]

示例 2:

输入:

nums = [1], k = 1

输出:

[1]

简单数据结构,AC代码如下:

class Solution {
     
public:
    vector<int> topKFrequent(vector<int>& nums, int k) {
     
        map<int,int>m;
        vector<int>ans;
        vector<pair<int,int>>v;
        for(auto i:nums) m[i]++;
        for(auto i:m) v.push_back({
     i.second,i.first});
        sort(v.rbegin(),v.rend());
        for(int i=0;i<k;i++) ans.push_back(v[i].second);
        return ans;
    }
};

你可能感兴趣的:(LeetCode,map,vector)