Leetcode 每日一题 2022-09-19 1636.按照频率将数组升序排序
这道题目提到了频率,自然而然想到哈希表,再对哈希表的出现次数排队即可。
class Solution {
public:
vector<int> frequencySort(vector<int>& nums) {
unordered_map<int, int> cnt;
for (int num : nums) {
cnt[num]++;
}
sort(nums.begin(), nums.end(), [&](const int a, const int b) {
if (cnt[a] != cnt[b]) {
return cnt[a] < cnt[b];
}
return a > b;
});
return nums;
}
};