力扣451:根据字符频率排序(桶排序)
小学生一枚,自学信奥中,没参加培训机构,所以命名不规范、代码不优美是在所难免的,欢迎指正。
标签:
字符串、桶排序
语言:
C++
题目:
给定一个字符串s
,根据字符出现的频率进行降序排序 。一个字符出现的频率是它出现在字符串中的次数。返回已排序的字符串 。如果有多个答案,返回其中任何一个。
截图:
代码:
class Solution {
public:int bocket[128] = {0};string frequencySort(string s) {for (int i = 0; i < s.size(); i++) {bocket[s[i]]++;}string s1 = "";while (s1.size() < s.size()) {int maxidx = 0;for (int i = 1; i < 128; i++) {if (bocket[i] > bocket[maxidx]) {maxidx = i;}}for (int i = 0; i < bocket[maxidx]; i++) {s1 += maxidx;}bocket[maxidx] = 0;}return s1;}
};