我是靠谱客的博主 迅速火,最近开发中收集的这篇文章主要介绍leetcode-451-Sort Characters By Frequency,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

问题

题目:[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;
    }
};

最后

以上就是迅速火为你收集整理的leetcode-451-Sort Characters By Frequency的全部内容,希望文章能够帮你解决leetcode-451-Sort Characters By Frequency所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部