#6669. 第一个只出现一次的字符

第一个只出现一次的字符

NOIP2017 普及组初赛阅读程序第 1 题

题目:第一个只出现一次的字符

知识点分类

字段 内容
来源 NOIP2017 普及组初赛阅读程序改编
知识点 字符串、字符计数、频次数组、顺序扫描
难度 Level 2 单点应用
适合课程 字符串基础、数组计数、桶计数入门之后
训练目标 理解“先统计,再按原顺序查找”的程序阅读思路

题目描述

给定一个只包含大小写英文字母和数字的字符串 s

请你找出字符串中第一个只出现一次的字符,并输出它。

如果字符串中不存在只出现一次的字符,输出 no

输入格式

一行,一个字符串 s

输出格式

输出一个字符,表示第一个只出现一次的字符。

如果不存在,输出:

no

样例 1

输入:

xyzxyw

输出:

z

说明: xy 都出现了 2 次,z 是从左到右第一个只出现 1 次的字符。

样例 2

输入:

aabbcc

输出:

no

样例 3

输入:

abacabad

输出:

c

数据范围

测试点编号 |s| ≤ 特殊性质 设计目的
1 单字符 覆盖最小输入
2, 3 10 全部字符都只出现一次 检查是否按原顺序输出第一个字符
4, 5 20 不存在只出现一次的字符 检查 no 的处理
6, 7 100 唯一字符在中间或末尾 防止只看局部或提前判断错误
8, 9 10³ 混合大小写和数字 检查字符种类处理
10 10⁵ 长字符串 检查时间复杂度,应为线性