ybt1130:找第一个只出现一次的字符
1130:找第一个只出现一次的字符
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 62333 通过数: 23786
【题目描述】
给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。如果没有,输出no。
【输入】
一个字符串,长度小于100000。
【输出】
输出第一个仅出现一次的字符,若没有则输出no。
代码如下:
1 #include<iostream> 2 #include<cstring> 3 using namespace std; 4 char a[100001],b[26]; 5 int main() 6 { 7 cin>>a; 8 long len=strlen(a); 9 for(int i=0;i<len;i++) 10 b[a[i]-'a']++; 11 for(int i=0;i<len;i++) 12 if(b[a[i]-'a']==1) 13 { 14 cout<<a[i]; 15 return 0; 16 } 17 cout<<"no"<<endl; 18 return 0; 19 }
这道题的思路就是:
我先开两个数组,一个是装输入的字符的a【】,另一个b【】用于判断:
首先将a【i】视为ASKMA值,那么每种字母就有属于自己的编号;用一个for循环,如果编号相同b【a【i】】++;最后用for循环检查是否有只出现过一次的(即b【a【i】】==1),有的话直接输出并:终止流程(即return 0,很关键),否则就输出“no”;就行啦!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话