为什么网站上相同的输入调试可以通过而提交答案过不了?

img

img

img


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

你确定在你本地输出的不是空的?我测了也是没输出好吧

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632