Leet Code Daily 2024-07-23 - Sort Array by Increasing Frequency
Code
● ● ●c++class Solution {
public:
vector<int> frequencySort(vector<int>& nums) {
unordered_map<int, int> freq;
for (const auto& num : nums) {
freq[num]++;
}
map<int, vector<int>> freq_to_nums;
for (const auto& pair : freq) {
freq_to_nums[pair.second].push_back(pair.first);
}
vector<int> ret;
for (auto& pair : freq_to_nums) {
sort(pair.second.begin(), pair.second.end(), std::greater<>());
for (const auto& num : pair.second) {
for (int i = 0; i < pair.first; i++) {
ret.push_back(num);
}
}
}
return ret;
}
};