问题标题: 酷町堂:2661 找字符

0
0
已解决
殷熙玲
殷熙玲
中级守护
中级守护
#include<iostream>
using namespace std;
int b[100001],maxx;
int main(){
    string a;
    cin>>a;
    for(int i=0;i<a.length();i++){
        b[(int)a[i]]++;
    }
    for(int i=0;i<a.length();i++){
        maxx=max(maxx,b[a[i]]);
    }
    for(int i=0;i<a.length();i++){
        if(b[a[i]]==maxx){
            cout<<a[i];
            b[a[i]]=0;
        }
    }

    return 0;
}

WA90分,求找错,或者给出测试点2,谢谢


1
已采纳
王文博
王文博
缔造者之神
缔造者之神

我们掉进去的是一个坑

注意:用getline输入!

将cin>>a;改为getline(cin,a);即可AC!

望采纳!

0
汪天琦
汪天琦
初级光能
初级光能

字符串里有可能有空格,所以要用getline(cin,a).对了,求采纳

汪天琦在2021-08-07 16:54:54追加了内容

求你了

0
李奕歌
李奕歌
初级天翼
初级天翼

核心:

getline(cin,s);
    int n=s.size();
    for(int i=0;i<n;i++){
        a[s[i]]++;
        maxn=max(a[s[i]],maxn);
    }
    for(int i=0;i<n;i++){
        if(a[s[i]]==maxn){
            cout<<s[i];
            a[s[i]]=0;
        }
    }

 

0
刘艺凡
刘艺凡
资深守护
资深守护

把cin>>a改为getline(cin,a);即可

0
李显晨
李显晨
中级启示者
中级启示者

把cin>>a改成getline(cin,a)

我要回答