📌  相关文章
📜  国际空间研究组织 | ISRO CS 2011 |问题 32(1)

📅  最后修改于: 2023-12-03 15:07:33.748000             🧑  作者: Mango

国际空间研究组织 | ISRO CS 2011 |问题 32

这是一道关于字符串操作的编程题。

问题描述

给定一个字符串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为字符集大小。在本题中,字符集大小为常数,因此空间复杂度也是常数级别的。