首页 > 代码库 > 02:找第一个只出现一次的字符
02:找第一个只出现一次的字符
02:找第一个只出现一次的字符
- 总时间限制: 2017-07-1218:36:28
- 1000ms
- 内存限制:
- 65536kB
- 描述
-
给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。如果没有,输出no。
- 输入
- 一个字符串,长度小于100000。
- 输出
- 输出第一个仅出现一次的字符,若没有则输出no。
- 样例输入
-
abcabd
- 样例输出
-
c
错误答案:9分#include<stdio.h> #include<iostream> #include<algorithm> #include<string.h> #include<math.h> using namespace std; char a[30][2]; string w; int main() { int i,n,k; char j=‘a‘; for(i=1;i<=26;i++) { a[i][1]=j; j++; } cin>>w; n=w.length(); for(i=0;i<n;i++) { for(k=1;k<=26;k++) { if(a[k][1]==w[i]) {a[k][2]++;continue; } } } int f=0; for(i=1;i<=26;i++) { if(a[i][2]==1){f=1;cout<<a[i][1]<<endl;break;} } if(f==0) cout<<"no"<<endl; return 0; }
正确答案:#include<iostream> #include<cstring> #include<cstdio> using namespace std; int main() { char a[100001]; int b,c[100001]={0}; gets(a); b=strlen(a); for(int i=0;i<b;i++) { for(int j=0;j<b;j++) { if(a[i]!=a[j])c[i]++; } if(c[i]==b-1) { cout<<a[i];return 0; } } cout<<"no"; return 0; }
02:找第一个只出现一次的字符
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。