-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy path1636.cpp
More file actions
31 lines (28 loc) · 768 Bytes
/
1636.cpp
File metadata and controls
31 lines (28 loc) · 768 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
class Solution {
public:
static bool cmp(pair<int,int>&a, pair<int,int>&b) {
return (a.second==b.second) ? a.first>b.first : a.second<b.second;
}
vector<int> frequencySort(vector<int>& nums) {
if(nums.size()==1)
return nums;
map<int,int> mp;
for(int i=0;i<nums.size();i++)
{
mp[nums[i]]++;
}
vector<pair<int,int>> val_freq;
for(auto m : mp)
{
val_freq.push_back(m);
}
sort(val_freq.begin(),val_freq.end(),cmp);
vector<int> result;
for(auto v : val_freq) {
for(int i=0;i<v.second;i++) {
result.push_back(v.first);
}
}
return result;
}
};