80分求助 #5#7WA

B2110 找第一个只出现一次的字符

ITProgrammer @ 2022-05-03 12:29:13

#include <bits/stdc++.h>
using namespace std;
int a[27]={0};
int main()
{
    string str;
    cin>>str;

    for(int i=0;i<str.size();i++)
        a[str[i]-97+1]++;

    for(int i=1;i<=26;i++)
    {
        if(a[i]==1)
        {
            cout<<(char)(i+97-1)<<endl;
            return 0;
        }
    }
    cout<<"no"<<endl;
    return 0;
}

by LXQisnotaLXQ @ 2022-05-03 12:42:58

是在文本里第一个,不是ASCII的第一个

for(int i=1;i<=26;i++)
{
    if(a[i]==1)
    {
        cout<<(char)(i+97-1)<<endl;
        return 0;
    }
 }

改成

for (int i=0;i<str.length();i++)
{
    if (a[str[i]-96]==1){ 
        cout<<str[i]<<endl;
    }
}

即可


by LXQisnotaLXQ @ 2022-05-03 12:44:44

80分??? 你运气挺好的哎


by ITProgrammer @ 2022-05-03 13:35:11

@ZBZ_HR_STZ 感谢


by ITProgrammer @ 2022-05-03 13:35:43

【已解决】


by LXQisnotaLXQ @ 2022-05-05 08:10:14


|