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循环的用法,以及终止循环的条件等相关知识。

相关推荐
略略略咯咯13 小时前
ActiveMQ
java·activemq·java-activemq
依然鸣13 小时前
PTA团体程序设计天梯赛L2真题讲解L2-001-004
经验分享·学习·算法·深度优先·pat考试
万亿少女的梦16813 小时前
基于Spring Boot、Java与MySQL的同城宠物服务系统设计与实现
java·spring boot·mysql·系统设计·协同过滤
不才不才不不才13 小时前
Spring 源码系列(20): @SpringBootApplication 三注解拆解
java·后端·spring
罗小爬EX13 小时前
AI Chat 多类型流式事件处理方案(以AgentScope Java 2为例)
java·人工智能·状态模式
zhanghaha131413 小时前
Python进阶教程:5_XML 解析 —— 新手完全指南
java·前端·数据库
SNAKEpc1213814 小时前
OpenGL(十三)- Mip贴图
c语言·c++·图形渲染·贴图
万亿少女的梦16814 小时前
基于Spring Boot、Vue与MySQL的私人健身教练预约管理系统设计
java·spring boot·mysql·vue·预约管理
程序员黑豆14 小时前
Java字符串拼接全解析:6种方式性能对比与实战指南
java·前端·ai编程
杨航 AI15 小时前
** AI 面试算法 50 题清单**,不是单纯的 LeetCode 题号列表,而是按照“**考察概率 × 面试价值 × 你当前准备方向**”排序
算法·leetcode·面试