周周来A厂面试的时候,曾经遇到这样一个面试题:
给定 n 个整数,求里面出现次数最多的数,如果有多个重复出现的数,求出值最大的一个。当时可算是给周周难住了,现在周周来考考你。
第一行输入一个整数 n\ (1 \le n \le 100000),接下来一行输入 n 个int范围内的整数。
输出出现次数最多的数和出现的次数,中间用一个空格隔开,如果有多个重复出现的数,输出值最大的那个。
提示 倒序输出:
for key, val in sorted(dic.items(), reverse = True) :
print(key, val)
添加 reverse = True 之后就可以进行倒序了。
5 1 1 2 3 4
1 2
用一个map<int, int>保存每个数出现的次数,然后遍历这个map找出次数最多的数。