LeetCode 1636 按照频率将数组升序排序[Map] HERODING的LeetCode之路
Posted HERODING23
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 1636 按照频率将数组升序排序[Map] HERODING的LeetCode之路相关的知识,希望对你有一定的参考价值。
解题思路:
一道很有意思的简单题,首先用map统计每个数的频率,接着按照频率进行排序,如果频率相同,按照大小降序排序,代码如下:
class Solution
public:
vector<int> frequencySort(vector<int>& nums)
int n = nums.size();
unordered_map<int, int> mp;
for(int i = 0; i < n; i ++)
mp[nums[i]] ++;
sort(nums.begin(), nums.end(), [&](const int& a, const int& b)
if(mp[a] == mp[b])
return a > b;
return mp[a] < mp[b];
);
return nums;
;
以上是关于LeetCode 1636 按照频率将数组升序排序[Map] HERODING的LeetCode之路的主要内容,如果未能解决你的问题,请参考以下文章
「 每日一练,快乐水题 」1636. 按照频率将数组升序排序
「 每日一练,快乐水题 」1636. 按照频率将数组升序排序