要点:
二重循环,时间复杂度为O(n2)。(如果内循环二分查找应该能降低到O(logn · n))
#include <iostream>
using namespace std;
#include <cstring>
int main()
{
char a[100000];
cin>>a;
int len=strlen(a);
int i=0;
for(i=0;i<len;i++){
int j=0;
for(j=0;j<len;j++){
if(i==j)continue;
if(a[i]==a[j])break;//有重复直接跳出
}
//若j==len则说明走到最后没有重复
if(j==len){
cout<<a[i];
break;
}
}
//若i==len则说明走到最后没有只出现一次的字母
if(i==len)cout<<"no";
return 0;
}