对python自带函数熟悉的话,会知道list有count函数用来统计次数,再配合list转换为set再转换为list,可以去重,这样是一条思路。或者直接声明长为一万零一的数组,对出现次数进行统计,这是第二条思路。
熟悉一下知识点:
所以我们可以利用这些内置函数,精简的写出代码,如下:
N=int(input())#获得个数
num_list=list(map(int,input().split()))#获得数据,用列表储存
#利用set去重
re_num_list=list(set(num_list))
#利用list(map())获得出现个数的列表,利用zip返回为元祖,利用dict转换为字典
num_dict=dict(zip(re_num_list,list(map(num_list.count,re_num_list))))
#利用字典找出最大的值对应的键
print(max(num_dict,key=num_dict.get))
测试用例最大的数不过是10000,干脆创建一个足够大的数组来记录每个数出现的次数,干脆利索
N=int(input())#获得个数
num_list=map(int,input().split())#获得数据列表
times=[0]*10001#声明一个足够大的统计出现次数的数组
max=0#记录最大出现次数
result=0#记录结果
#统计次数
for i in num_list:
times[i]=times[i]+1
#寻找出现次数最大的数
for i in range(10000):
if times[i]>max:
max=times[i]
result=i
#输出
print(result)
python内置的函数都很好用,掌握每一个都很简单,但是交叉使用时还是会有各种不清晰,不明朗。
纸上得来终觉浅呀,题目虽然简单,但是却是对知识点掌握情况的检查。