- 根据字符出现频率排序
给定一个字符串,请将字符串里的字符按照出现的频率降序排列。
复制代码
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
31class Solution { public: bool static cmp(const pair<char, int> a, const pair<char, int> b) { if (a.second == b.second) { return a.first < b. first; } return a.second > b.second; } string frequencySort(string s) { map<char, int> mp; for (char ch : s) { mp[ch]++; } vector<pair<char, int>> vec(mp.begin(), mp.end()); sort(vec.begin(), vec.end(), cmp); string res; // for (pair<string, int> p : vec) { // cout << p.first << " " << p.second << endl; // } for (int i = 0; i < vec.size(); i++) { for (int j = 0; j < vec[i].second; j++) { res += vec[i].first; } } return res; } };
最后
以上就是勤奋鸭子最近收集整理的关于451. 根据字符出现频率排序 给定一个字符串,请将字符串里的字符按照出现的频率降序排列。的全部内容,更多相关451.内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复