题目描述
(1)问题描述及输入输出格式要求
问题描述如下图
![](https://i-blog.csdnimg.cn/blog_migrate/debc1718c52502a33dbcf313c39fb73a.png)
输入输出格式如下图
![](https://i-blog.csdnimg.cn/blog_migrate/ae7da82027023a45e3e0bc1485a9759f.png)
(2)解题思路分析
1.读取一个整数 n,表示接下来要输入 n 个整数。
2.初始化一个长度为 10000 的数组 numbers,数组的下标表示输入的
数字,而数组的值表示该数字出现的次数。
3.读取空格分隔的 n 个整数,并将其作为字符串列表输入。
4.遍历输入的整数列表,将每个整数转换为 num,并在 numbers 数
组中以 num 作为下标,将对应下标处的次数计数值加 1。
5.初始化变量 ans 为 0,max_count 为 0。后者用于保存已找到的
最大次数。
6.遍历 numbers 数组,如果找到一个值大于 max_count 的元素,
记 录 该 元 素 的 次 数 ( 即 numbers[i]) 和下标(即 i ), 并 更
新 max_count 的值。
7.输出下标 ans,它是出现次数最多的数字。
(3)提交的编程代码
n = int(input())
numbers = [0] * 10000
list=input().split()
for _ in range(n):
num = int(list[_])
numbers[num] += 1
ans = 0
max_count = 0
for i in range(10000):
if numbers[i] > max_count:
max_count = numbers[i]
ans = i
print(ans)
此致与君共勉