80求调

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

awdfkewd @ 2025-01-11 18:26:37

#include<set>
#include<string>
#include<iostream>
using namespace std;
int letters[26];
int main(){
    for(int i=0;i<26;i++){
        letters[i]=0;
    }
    set<char>b;
    string a;
    cin>>a;
    for(int i=0;i<(int)a.length();i++){
        letters[a[i]-97]++;
        b.insert((char)a[i]);
    }
    for(char i:b) {
        if(letters[i-97]==1){
            cout<<i;
            return 0;
        }
    }
    cout<<"no";
}

by be_the_person @ 2025-01-11 18:33:41

@awdfkewd AC代码


#include<bits/stdc++.h>
using namespace std;
int len,t[26];
char ans='+';
string s;
int main()
{
    cin>>s;
    len=s.length();//求字符串长度
    for(int i=0;i<len;i++){
        t[s[i]-'a']++;
    }
    for(int i=0;i<len;i++){
        if(t[s[i]-'a']==1){
            ans=s[i];
            break;
        }
    }
    if(ans=='+'){
        cout<<"no";
    }
    else{
        cout<<ans;
    }
    return 0;
}

|