#include
#include
#include
using namespace std;
char a[100010];
int main(){
int count=0;
fgets(a,100010,stdin);
for(int i=0;i<100010;i++){
int flag=1;
if(a[i]=='\0') break;
for(int j=0,len=strlen(a);jif(i==j) continue;
if(a[i]==a[j]){
flag=0;
break;
}
}
if(flag==1){
cout << a[i];
count++;
break; //题目要求只输出满足要求的第一个字符,所以当有一个字符时,直接结束循环。
}
}
if(count==0) cout <<"no";
}
不知道为啥交答案的时候输出的是空值,是网站的编译器的问题吗
输入可能有问题
fgets(a,100010,stdin);
换成
cin>>a;
估计超时了吧
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
char s[100000];
int c[26] = {0};
int main(){
fgets(s,100000,stdin);
int i=0;
while(s[i] != '\0')
{
if(c[s[i]-'a'] == 0)
c[s[i]-'a'] = i+1;
else
c[s[i]-'a'] = 0;
i++;
}
int minPos = 100000;
for(i=0;i<26;i++)
{
if(c[i] != 0)
{
if(c[i] < minPos)
minPos = c[i];
}
}
if(minPos == 100000)
cout<<"no";
else
cout<<s[minPos-1];
return 0;
}
你确定在你本地输出的不是空的?我测了也是没输出好吧
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!