📅  最后修改于: 2023-12-03 15:07:33.748000             🧑  作者: Mango
这是一道关于字符串操作的编程题。
给定一个字符串S,找到在S中出现次数最多的字符及其出现的次数。如果有多个字符出现次数最多,则输出其中任意一个。
输入包含一个字符串S。(1 <= |S| <= 1000)
输出一个字符和一个整数,表示在S中出现次数最多的字符及其出现的次数。如果有多个字符出现次数最多,则输出其中任意一个。
aaabbc
a 3
这是一道比较简单的字符串操作题目。采用哈希表(hash table)来记录每个字符出现的次数,然后遍历哈希表,找到出现次数最多的字符即可。
以下是使用Python 3实现的参考代码:
text = input()
# 字符计数器
counter = {}
# 统计字符出现次数
for ch in text:
if ch in counter:
counter[ch] += 1
else:
counter[ch] = 1
# 找到出现次数最多的字符
max_ch = None
max_count = 0
for ch in counter:
if counter[ch] > max_count:
max_ch = ch
max_count = counter[ch]
print(max_ch, max_count)
时间复杂度:O(n),其中n为字符串的长度。
空间复杂度:O(k),其中k为字符集大小。在本题中,字符集大小为常数,因此空间复杂度也是常数级别的。