算法创作|出现最多的字母解决方法
前言你知道一个单词中哪个字母出现次数最多吗?问题描述小蓝正在学习一门神奇的语言,这门语言中的单词都是由小写英文字母组成,有些单词很长,远远超过正常英文单词的长度。小蓝学了很长时间也记不住一些单词,他准备不再完全记忆这些单词,而是根据单词中哪个字母出现得最多来分辨单词。现在,请你帮助小蓝,给了一个单词后,帮助他找到出现最多的字母和这个字母出现的次数。要求:输入一行包含一个单词,单词只由小写英文字母组成。输出两行,第一行包含一个英文字母,表示单词中出现得最多的字母是哪个。如果有多个字母出现的次数相等,输出字典序最小的那个。第二行包含一个整数,表示出现得最多的那个字母在单词中出现的次数。示例:输入: lanqiao输出:a2解决方案如果要解决这个问题,就要知道每个字母出现的次数,再进行比较。首先我们不知道由单词是由哪些字母组成的,所以遍历再累加的方法显得太笨拙也不好实现,我们可以利用字典是可变容器以及方便访问的特点,对所遍历到的字母进行计数。首先建立一个空字典,再将第一次遇到的英文字母放到key中,如果第二次碰到了这个字母,就将所对应的value的值+1,就实现了计数。这样一个字典中就包含了所有字母以及字母所对应的出现次数。然后我们将出现次数,也就是value的最大值找出来,可以利用max()找到最大值,再打印出所对应的key,也就是所对应的英文字母就可以了。出现最多的字母解决方法Python代码s = input(“请输入输入一个单词:”)d = {}for i in str(s):if d.get(i) == None:d[i] = 1else:d[i] += 1for key,value in d.items():if value == max(d.values()):print(key)print(value)
结语利用字典解决了出现最多次数字母的问题, 在统计次数类的题合理利用字典即可快速得到解决方法。实习编辑:王晓姣稿件来源:深度学习与文旅应用实验室(DLETA)