题目介绍:
题目描述
小蓝正在学习一门神奇的语言,这门语言中的单词都是由小写英文字母组 成,有些单词很长,远远超过正常英文单词的长度。小蓝学了很长时间也记不住一些单词,他准备不再完全记忆这些单词,而是根据单词中哪个字母出现得最多来分辨单词。
现在,请你帮助小蓝,给了一个单词后,帮助他找到出现最多的字母和这个字母出现的次数。
输入描述
输入一行包含一个单词,单词只由小写英文字母组成。
对于所有的评测用例,输入的单词长度不超过 1000。
输出描述
输出两行,第一行包含一个英文字母,表示单词中出现得最多的字母是哪 个。如果有多个字母出现的次数相等,输出字典序最小的那个。
第二行包含一个整数,表示出现得最多的那个字母在单词中出现的次数。
输入输出样例
示例 1
输入
lanqiao
输出
a 2
示例 2
输入
longlonglongistoolong
输出
o 6
运行限制
- 最大运行时间:1s
- 最大运行内存: 256M
相关知识点:
- str.count() 方法用于统计字符串里某个字符或子字符串出现的次数。可选参数为在字符串搜索的开始与结束位置。str.count(sub, start= 0,end=len(string))
- 字典序最小:字典序是指从前到后比较两个字符串的大小的方法。首先比较第一个字符,如果不同则第一个字符较小的字符串更小,如果相同则继续比较第2个字符......如此继续,来比较整个字符串的大小。
题目分析:
通过str.count函数来统计出现最多的次数的字母,如果有同样多的字母,将其放入一个列表中,然后用sort进行排序,然后实现输出字典序列最小的那个字母。
代码:
word = str(input()) max_value = 0 max_char = [] for i in word : temp = word.count(i) if temp > max_value : max_value = temp for i in word : if word.count(i) == max_value : max_char.append(i) print(max_char[0]) print(max_value)