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;
}
全部评论

相关推荐

头像
10-09 19:35
门头沟学院 Java
洛必不可达:java的竞争激烈程度是其他任何岗位的10到20倍
点赞 评论 收藏
分享
双非坐过牢:非佬,可以啊10.28笔试,11.06评估11.11,11.12两面,11.19oc➕offer
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务