Python 字符串中出现次数最多的小写字母
Python 字符串中出现次数最多的小写字母
问题描述:
输入一个由小写字母组成的字符串(字符数量<=100),输出出现次数最多的小写字母。
注意:如果有多个小写字母出现的次数一样多,则输出ASCII码值最大的那个字母。
输入描述
一个字符串
输出描述
出现次数最多的小写字母
用例输入 1
aaabbbbbbbbbcdxs 用例输出 1
b
思路:
- 统计每个字母出现的次数。可以使用一个数组来记录每个字母出现的次数,数组的下标表示字母的ASCII码值。
- 遍历字符串,对每个字母出现的次数进行累加。
- 找到出现次数最多的字母。可以遍历数组,找到值最大的元素,即为出现次数最多的字母。
- 如果有多个字母出现次数一样多,我们需要找到ASCII码值最大的字母。可以从数组的末尾开始遍历,找到第一个值为最大次数的字母即可。
代码实现如下:
# 输入一个字符串
s = input()
# 统计每个字母出现的次数,使用一个数组记录
count = [0] * 26
# 遍历字符串,对每个字母出现的次数进行累加
for char in s:
if char.islower():
count[ord(char) - ord('a')] += 1
# 找到出现次数最多的字母
max_count = max(count)
# 找到出现次数最多的字母的ASCII码值
max_char_ascii = ord('a') + count.index(max_count)
# 输出结果
print(chr(max_char_ascii))
复杂度分析:
- 遍历字符串需要 O(n) 的时间复杂度,其中 n 是字符串的长度。
- 统计每个字母出现的次数需要 O(n) 的时间复杂度,其中 n 是字符串的长度。
- 找到出现次数最多的字母需要 O(26) 的时间复杂度。
因此,总的时间复杂度是 O(n)。
原文地址: https://www.cveoy.top/t/topic/pawx 著作权归作者所有。请勿转载和采集!