c++ 信奥编程 1130:找第一个只出现一次的字符

cpp 复制代码
#include <iostream>
#include <string> 
using namespace std; 
int main()
{
	string s;
	bool flag=false;
	int lt[26]={0}; 
	cin >> s;
	for(int i=0;s[i]!='\0';i++)
	{ 
		lt[s[i]-'a']++;
	} 
	
	for(int i=0;i<s.size();i++)
	{
		if(lt[s[i]-'a']==1)
		{
			cout << s[i] << endl;
			flag=true;
			break;
		}
	}
	if(flag==false)
		cout << "no" << endl;
    return 0;
} 

本题解析:本题用到了一个技巧,那就是小写字母只有26个,然后遍历字符串,定义一个整数数组,用来存储从小写a开始的字母出现的次数。如果找到第一个就break,结束循环。另外还需要设置一个标识位。用来做标记。

本题用到的知识有:字符可以参与数字计算,字符串的遍历,一维数组的应用,同时对for循环的用法,以及终止循环的条件等相关知识。

相关推荐
xcl09256 小时前
酒馆预约系统开发实战:从需求分析到上线全流程指南
java·spring boot·需求分析
Navigator_Z6 小时前
LeetCode //C - 1224. Maximum Equal Frequency
c语言·算法·leetcode
Kyrie_kk6 小时前
Java--IO--Path文件访问
java·后端
qinqinzqq6 小时前
Maven POM 格式、Schema 与 XSD:一篇讲透
java·maven
o盟7 小时前
maven本地仓库有 总是去私仓中下载
java·maven·intellij-idea
dong_junshuai7 小时前
每天一个开源项目#87 fmt:24.5K Stars 的 C++ 格式化核心
c++·开源·github
devpotato7 小时前
Java 批量并发请求:从“能并发“到“结果按完成顺序可用“的三种写法与选型
java
Navigator_Z7 小时前
LeetCode //C++ - 1226. The Dining Philosophers
c语言·算法·leetcode
FOORIR7 小时前
3D视觉+AI客流系统怎么做:从Sensor Pipeline到数据事件引擎
算法
雪的季节7 小时前
Multisim14.0的详细中文安装步骤【附安装包】
c++