首页 > 学院 > 开发设计 > 正文

451. Sort Characters By Frequency

2019-11-08 00:41:34
字体:
来源:转载
供稿:网友

Given a string, sort it in decreasing order based on the frequency of characters.

Example 1:

Input:"tree"Output:"eert"Explanation:'e' appears twice while 'r' and 't' both appear once.So 'e' must appear before both 'r' and 't'. Therefore "eetr" is also a valid answer.

Example 2:

Input:"cccaaa"Output:"cccaaa"Explanation:Both 'c' and 'a' appear three times, so "aaaccc" is also a valid answer.Note that "cacaca" is incorrect, as the same characters must be together.

Example 3:

Input:"Aabb"Output:"bbAa"Explanation:"bbaA" is also a valid answer, but "Aabb" is incorrect.Note that 'A' and 'a' are treated as two different characters.class Solution {public: struct character{ int fre; char ch; bool Operator < (const struct character& rhs) const{ return fre > rhs.fre; } } c[256]; string frequencySort(string s) { int table[256] = {0}; string ans; for(char ch : s){ c[ch - ' '].fre++; c[ch - ' '].ch = ch; } sort(c, c + 256); for(int i = 0; i < 256; ++i){ for(int j = 0; j < c[i].fre; ++j) ans += c[i].ch; } return ans; }};
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表