Python编写函数 maxChar(s),输入字符串s,统计字符串中出现次数最多的字母及其出现次数,用字典来存放结果,并返回该值。如果有多个字母出现次数一样,则按字母表 顺序输出字母及其出现次数。 输入样例:s: ab*cbDAi5 输出样例:b2 输入样例:s:ab*AcbDAi5 输出样例:A2 b2
时间: 2023-12-03 11:43:08 浏览: 88
Java 面试题及参考答案
可以按照以下步骤编写函数 maxChar(s):
1. 首先,将字符串 s 中的所有字母都转换成小写字母,这样可以避免大小写字母的区分。
2. 然后,遍历字符串 s 中的每个字符,统计每个字符出现的次数,将结果保存在一个字典中。
3. 找到出现次数最多的字母及其出现次数。
4. 如果有多个字母出现次数一样,则按字母表顺序输出字母及其出现次数。
下面是具体的实现代码:
```python
def maxChar(s):
# 将字符串 s 中的所有字母都转换成小写字母
s = s.lower()
# 统计每个字符出现的次数,将结果保存在一个字典中
char_count = {}
for c in s:
if c.isalpha():
if c in char_count:
char_count[c] += 1
else:
char_count[c] = 1
# 找到出现次数最多的字母及其出现次数
max_count = 0
max_chars = []
for c, count in char_count.items():
if count > max_count:
max_count = count
max_chars = [c]
elif count == max_count:
max_chars.append(c)
# 如果有多个字母出现次数一样,则按字母表顺序输出字母及其出现次数
max_chars.sort()
result = {}
for c in max_chars:
result[c] = max_count
return result
```
对于输入样例 `s: ab*cbDAi5`,函数的输出结果为 `{'b': 2}`。
对于输入样例 `s:ab*AcbDAi5`,函数的输出结果为 `{'a': 2, 'b': 2}`。
阅读全文