数据结构珠玑——unordered_map

以下代码未优化且速度不快,主要为了数据结构

/*
 * @lc app=leetcode.cn id=347 lang=cpp
 *
 * [347] 前 K 个高频元素
 */

// @lc code=start
class Solution {
public:
    vector<int> topKFrequent(vector<int>& nums, int k) {
        unordered_map<int,int> map;
        for (int& num : nums)
            ++map[num];
        
        vector<pair<int, int>> A;
        for (auto& it : map) {
            A.emplace_back(it);
        }
        sort(A.begin(), A.end(), [](pair<int, int> a, pair<int, int> b)
             { return a.second > b.second; });
        vector<int> kth;
        for (int i = 0; i < k; ++i)
            kth.emplace_back(A[i].first);
        return kth;
    }
};
posted @ 2022-08-05 18:05  千心  阅读(34)  评论(0编辑  收藏  举报