leetcode-451-Sort Characters By Frequency

来源:互联网 发布:mac matte chili 编辑:程序博客网 时间:2024/06/05 02:20

问题

题目:[leetcode-451]

思路

  1. 统计
  2. 排序
  3. 累加

代码

class Solution {public:    string frequencySort(string s) {        map<char, int> counter;        int sz = s.size();        for(int i = 0; i < sz; ++i){            ++counter[s[i]];        }        typedef pair<char, int> pair_t;        vector<pair_t> vec( counter.begin(), counter.end() );        struct CmpByValue{            bool operator()( pair_t& lhs, pair_t& rhs ){                return rhs.second < lhs.second;            }        };        sort( vec.begin(), vec.end(), CmpByValue() );        sz = vec.size();        string ret;        for(int i = 0; i < sz; ++i){            int times = vec[i].second;            while( times-- ) ret+= vec[i].first;        }        return ret;    }};