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

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

国际空间研究组织 ISRO CS 2013 问题 4

该问题是ISRO CS 2013的第四个问题。该问题是一个编程问题,要求编写程序来找到一个给定的字符串中最常出现的字符和它的数量。以下是该问题的更详细说明。

问题描述

给定一个字符串,编写一个程序来找到出现最频繁的字符及其数量,并将其输出。如果有多个字符出现频率相同,则输出第一个出现的字符。

输入格式

输入包括一行字符串s,s中不超过1000个字符,且为 ASCII 码。
例如:abbbccddddeeeeffffg

输出格式

输出包括一行,第一个数字是最常出现的字符出现的数量,第二个是该字符的 ASCII 码。
例如:4 102

示例
输入样例
aaaabbccd
输出样例
4 97
解题思路

可以使用一个字典来跟踪每个字符出现的次数,然后迭代字典找到出现次数最多的字符。

以下是 Python 代码实现:

s = input().strip()
char_dict = {}
for c in s:
    if c in char_dict:
        char_dict[c] += 1
    else:
        char_dict[c] = 1
max_char = ''
max_count = 0
for c, count in char_dict.items():
    if count > max_count:
        max_char = c
        max_count = count
print(max_count, ord(max_char))
时间复杂度

由于需要迭代字符串和字典,因此时间复杂度为O(n)。

空间复杂度

该算法使用了一个字典存储每个字符的出现次数,因此空间复杂度为O(字符集大小)。在本例中,由于我们只考虑 ASCII 码,因此空间复杂度为O(128)。