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;
}