Description
题目描述:
小明最近在上数学课,老师给小明布置了个作业:在n 个数里找出所有的众数。众数的定义是这样的:在所有数当中出现次数
最多的数被称为众数。并且根据定义,众数有可能有多个。你能解决这个问题吗?
输入:
第一行一个整数n。
第二行有n 个整数,ai 表示第i 个数。
输出:
输出一行,包括一个整数k,表示众数的个数。
接下来一行包括k 个整数,每个整数都表示一个众数,并且从小到大输出。
输入样例1
10
3 3 3 2 3 1 2 2 1 2
输出样例1
2
2 3
说明:
数据范围 40%的数据,1<=n<=400 100%的数据,1<=n<=1000000,1<=ai<=1000000000
HINT
n=int(input())
a=list(map(int, input().split()))
d={}
mmax=1
for i in range(n):
t=a[i]
if t in d:
d[t]+=1
mmax=max(mmax,d[t])
else :
d[t]=1
dk=sorted(d)
cnt=0
for i in dk:
if d[i]==mmax:
cnt+=1
print(cnt)
for i in dk:
if d[i]==mmax:
print(i,end=" ")