我是靠谱客的博主 勤奋鸭子,最近开发中收集的这篇文章主要介绍451. 根据字符出现频率排序 给定一个字符串,请将字符串里的字符按照出现的频率降序排列。,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
- 根据字符出现频率排序
给定一个字符串,请将字符串里的字符按照出现的频率降序排列。
class 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. 根据字符出现频率排序 给定一个字符串,请将字符串里的字符按照出现的频率降序排列。所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复