字符统计 (HJ102)

一:解题思路

Time:O(n*log(n)) Space:O(n)

二:完整代码示例 (C++版和Java版)

#include <iostream>
#include <vector>
#include <string>
#include <map>
#include <algorithm>

using namespace std;

bool max2min(const pair<char, int>& l, const pair<char, int>& r)
{
    return l.second > r.second;
}

int main()
{
    string str = "";

    while (cin >> str)
    {
        map<char, int> map;
        for (auto c : str)
            map[c]++;

        vector<pair<char, int>> vec(map.begin(),map.end());
        stable_sort(vec.begin(), vec.end(), max2min);

        for (auto c : vec)
            cout << c.first;
        cout << endl;
    }

    return 0;
}

 

posted @ 2020-07-28 16:36  repinkply  阅读(281)  评论(0)    收藏  举报