Untitled

 avatar
unknown
plain_text
a year ago
730 B
8
Indexable
class Solution {
public:
    vector<int> frequencySort(vector<int>& nums) {
        unordered_map<int, int> freq;
        for (int &n : nums) {
            freq[n] += 1;
        }
        vector<pair<int, int>> freqV;
        for (auto &m : freq) {
            for (int i=0; i<m.second; ++i)
                freqV.emplace_back(pair{m.first, m.second});
        }
        auto cmp = [](const pair<int, int> &lhs, const pair<int, int>&rhs)
        {return lhs.second < rhs.second || (lhs.second == rhs.second && lhs.first > rhs.first);};
        sort(freqV.begin(), freqV.end(), cmp);
        vector<int> ans;
        for (pair<int, int> &p : freqV) {
            ans.emplace_back(p.first);
        }
        return ans;
    }   
};
Editor is loading...
Leave a Comment