出现次数的问题
一,相关题目
1【第一个只出现一次的字符】–剑指offer
在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).(从0开始计数)
2【字符统计】–华为机试
对字符中的各个英文字符(大小写分开统计),数字,空格进行统计,并按照统计个数由多到少输出,如果统计的个数相同,则按照ASII码由小到大排序输出 。如果有其他字符,则对这些字符不用进行统计。
示例:
输入
aadddccddc
输出
dca
3【数组中出现次数超过一半的数字】–剑指offer
数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。
二,总结
这类题目要求统计出现次数,一般用字典来做
首先,这几句代码是放之四海而皆准的
用字典记录每个元素出现的次数
这句也是此类问题的解题核心
之后,根据题目根据出现次数的具体要求来进行筛选
三,代码
一,【第一个只出现一次的字符】
二【字符统计】
三【数组中出现次数超过一半的数字】