02:找第一个只出现一次的字符
- 总时间限制:
- 1000ms
- 内存限制:
- 65536kB
- 描述
-
给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。如果没有,输出no。
- 输入
- 一个字符串,长度小于100000。
- 输出
- 输出第一个仅出现一次的字符,若没有则输出no。
- 样例输入
-
abcabd
- 样例输出
c
//noi_7804
#include<iostream>
#include<cstdio>
using namespace std;
int main(){
char c;
int a[2][30]={0},i=0,min=100005,mark=50;
while(scanf("%c",&c)&&c!='\n'){
a[0][c-'a']++;
a[1][c-'a']=i++;
}
for(int i=0;i<26;i++){
if(a[0][i]==1){
if(a[1][i]<=min) {
min=a[1][i];
mark=i;
}
}
}
if(mark==50) cout<<"no";
else cout<<char('a'+mark);
return 0;
}