CSP201312-1 出现次数最多的数 (Python)

文章目录

题目

试题编号: 201312-1
试题名称: 出现次数最多的数
时间限制: 1.0s
内存限制: 256.0MB

问题描述
  给定n个正整数,找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。
输入格式
  输入的第一行只有一个正整数n(1 ≤ n ≤ 1000),表示数字的个数。
  输入的第二行有n个整数s1, s2, …, sn (1 ≤ si ≤ 10000, 1 ≤ i ≤ n)。相邻的数用空格分隔。
输出格式
  输出这n个次数中出现次数最多的数。如果这样的数有多个,输出其中最小的一个。
样例输入
  6
  10 1 10 20 30 20
样例输出
  10

程序代码

# 输入数字个数
n = int(input())

# 创建计数数组并且赋值
countList = []
for i in range(10000):
    countList.append(0)

# 输入一行数字
numberList = input().split()

# 利用循环转换数字类型并统计次数
for i in range(n):
    numberList[i] = int(numberList[i])
    countList[numberList[i] - 1] += 1

# 数字(索引)_次数标记
number_count = [0,1]

# 倒序寻找次数最多的数字(因为相同次数输出最小数字)
for i in range(10000):
    # 当前数字的出现数次更大时 更新数字和计数
    if number_count[1] <= countList[-1 - i]:
        number_count[1] = countList[-1 - i]
        number_count[0] = 10000 - i #因为倒序

# 输出出现次数最多的数字
print(number_count[0])

猜你喜欢

转载自blog.csdn.net/qq_45899597/article/details/112772049