题目叙述
问题描述:略
输入格式:略
输出格式:略
样例
样例输入
12
5 2 3 3 1 3 4 2 5 2 3 5
样例输出
3 4
2 3
5 3
1 1
4 1
满分证明
解题思路
- 先进行排序;
- 利用字典setdefault;
- 对字典值进行降序排序;
- 结果,中间用空格分开。
版本二
并无太多优化,“条条大路通罗马”吧!
举一反三:
判断n是否字典(dit)key中存在,使用
n in dit.keys() #或者直接使用 n in dit
判断n是否字典(dit)value中存在,使用
n in dit.values()
满分代码一
n = int(input())
ll = list(map(int, input().split()))
ll.sort()
dic = {}
for i in range(n):
dic.setdefault(ll[i], ll.count(ll[i]))
al = sorted(dic.items(), key=lambda x: x[1], reverse=True)
for i in range(len(al)):
print(al[i][0], " ", al[i][1])
满分代码二
n = int(input())
ss = list(map(int, input().split()))
dit = {}
for s in ss:
if s in dit: #判断s是否为字典中key值
dit[s] = dit[s] + 1
else:
dit.setdefault(s, 1)
dd = sorted(dit.items(), key=lambda kv: kv[0])
dt = sorted(dd, key=lambda kv: kv[1], reverse=True)
for k, v in dt:
print(k, v)
需者自取传送门(∩ᄑ_ᄑ)⊃━☆【CCF 2013-2021】本博主整理历年至少前两题 python 满分代码目录