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-11 13:34
offe从四面八方来:我真的没时间陪你闹了
点赞 评论 收藏
分享
嵐jlu:我是山川🐔里🐔🧱的,阿里系简历全过; 你这简历一看就还是半成品啊,没有荣誉经历奖项什么的吗?
投递阿里巴巴集团等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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