题解 | 字符统计

字符统计

https://www.nowcoder.com/practice/c1f9561de1e240099bdb904765da9ad0

活动地址: 牛客春招刷题训练营 - 编程打卡活动

#include<iostream>

#include<algorithm>

#include<map>

using namespace  std;

#define int long long

const int N =2e5+10;

struct st{

    char a;

    int m=0; // 用结构体来 存储 + 排序

}p[N];

bool cmp(st x,st y){

    if(x.m!=y.m){ /// 不可以用 x.a!= y.a 否则出现x.a==y.a 时会直接判a 但是事先按出现次数排的

        return x.m>y.m;

    }

    return x.a<y.a;

}

void solve(){

    string s;

     cin>>s;

     map<char,int>ma;

    for(int i=0;i<s.size();i++){

        ma[s[i]]++; // map 来存储 出现次数

    }

    int k=0;

    for(auto x: ma){

        p[k].a=x.first;

        p[k].m=x.second;

        k++;

    }

    sort(p,p+k,cmp);// 排序

    for(int i=0;i<k;i++){

        cout<<p[i].a; // 输出

    }

   

}

signed main(){

   

    int T=1;

//  cin>>T;

    while(T--){

        solve();

    }

    return 0;

}

活动地址: 牛客春招刷题训练营 - 编程打卡活动

全部评论

相关推荐

Beeee0927:正确的建议
点赞 评论 收藏
分享
牛客246576843号:建议简历对点优化,想做HR专门列出HR实习,想做运营专门列出运营实习,并且对点写出项目经历以及数据,同时在个人总结上可以多凸出和岗位的匹配度
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务