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

相关推荐

但听说转正率很低,我现在有在实习了,好纠结要不要去
熬夜脱发码农:转正率低归低,但是实习的经历你可以拿着,又不是说秋招不准备了
点赞 评论 收藏
分享
06-16 15:04
黑龙江大学 Java
零OFFER战士:另一个版本查看图片
点赞 评论 收藏
分享
06-02 15:53
阳光学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务