Python 字符串中出现次数最多的小写字母

问题描述:

输入一个由小写字母组成的字符串(字符数量<=100),输出出现次数最多的小写字母。

注意:如果有多个小写字母出现的次数一样多,则输出ASCII码值最大的那个字母。

输入描述

一个字符串

输出描述

出现次数最多的小写字母

用例输入 1

aaabbbbbbbbbcdxs 用例输出 1

b

思路:

  1. 统计每个字母出现的次数。可以使用一个数组来记录每个字母出现的次数,数组的下标表示字母的ASCII码值。
  2. 遍历字符串,对每个字母出现的次数进行累加。
  3. 找到出现次数最多的字母。可以遍历数组,找到值最大的元素,即为出现次数最多的字母。
  4. 如果有多个字母出现次数一样多,我们需要找到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)。

Python 字符串中出现次数最多的小写字母

原文地址: https://www.cveoy.top/t/topic/pawx 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录