pair的使用

字符统计

http://www.nowcoder.com/questionTerminal/c1f9561de1e240099bdb904765da9ad0

#include<bits/stdc++.h>
using namespace std;

int myHash[256];

bool cmp( pair<int,int> a, pair<int,int> b )
{
    if( a.second!=b.second )
    {
        return a.second>b.second;
    }
    else
    {
        return a.first<b.first;
    }


}

string str;
int main()
{
    while( cin>>str )
    {
        memset( myHash, 0, sizeof(myHash) );
        for( char c : str )
        {
            myHash[c]++;
        }

        vector< pair<int,int> > solve;
        for(int i=0; i<256; ++i)
        {
            if( myHash[i] )
            {
                solve.push_back( make_pair(i,myHash[i]) );
            }
        }

        sort( solve.begin(), solve.end(), cmp );
        for( auto temp : solve )
        {
            printf("%c", temp.first );
        }
        printf("\n");

    }

    return 0;
}
全部评论

相关推荐

jack_miller:杜:你不用我那你就用我的美赞臣
点赞 评论 收藏
分享
10-25 00:32
香梨想要offer:感觉考研以后好好学 后面能乱杀,目前这简历有点难
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务