使用python 解ccf-csp 201312-1出现次数最多的数

出现次数最多的数

问题描述

试题编号: 201312-1
试题名称: 出现次数最多的数
时间限制: 1.0s
内存限制: 256.0MB
问题描述:
问题描述
  给定n个正整数,找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。
输入格式
  输入的第一行只有一个正整数n(1 ≤ n ≤ 1000),表示数字的个数。
  输入的第二行有n个整数s 1, s 2, …, s n (1 ≤ s i ≤ 10000, 1 ≤ i ≤ n)。相邻的数用空格分隔。
输出格式
  输出这n个次数中出现次数最多的数。如果这样的数有多个,输出其中最小的一个。
样例输入
6
10 1 10 20 30 20
样例输出
10

问题分析: 这个问题只要我们输出出现次数最多的并且时最小的数,所以我们只需要先排序(小到大),然后统计每个位置的出现的次数,找到最多出现的次数的索引就OK了。如有多个索引,只需输出第一个即可(已经排序,小的在前)。

代码:

n = int(input())
num = input().split()
for i in range(len(num)):
    num[i] = int(num[i])
# 先排序,在最后输出时如有相同值输出第一个就是所求值
num.sort()
# b 用于存放各位置"数"的统计个数
b = []
for i in range(n):
	# num的第i个"数"出现的次数
    b.append(num.count(num[i]))
    # 在b中出现次数最多的"数"的索引
    num_index = b.index(max(b))
print(num[num_index])

结果:

提交编号 试题名称 编程语言 评测结果 时间使用 空间使用
11794506 出现次数最多的数 python 正确 109ms 8.714MB
发布了3 篇原创文章 · 获赞 0 · 访问量 29

猜你喜欢

转载自blog.csdn.net/qq_43630441/article/details/104619501
今日推荐