代码改了好久,不知道怎么去降低循环次数了。也尽量使用内置函数了,但依旧超时。感觉要尝试用空间换时间的方式,暂时先留个标记
初版代码:
n = int(input())
lst = []
for i in range(n) :
lst.append(int(input()))
lst_rec = list(set(lst))
lst_rec.sort()
for data in lst_rec :
print('{} {}'.format(data, lst.count(data)))
时间超限55
改用字典:
n = int(input())
dic = {}
for i in range(n) :
var = int(input())
dic[var] = dic.get(var, 0) + 1
lst_rec = list(dic.items())
lst_rec.sort(key=lambda x : int(x[0]))
for i in range(len(lst_rec)) :
print('{} {}'.format(lst_rec[i][0], lst_rec[i][1]))
时间超限82
字典简版:
n = int(input())
d = {}
for i in range(n):
p = int(input())
d[p] = d.get(p, 0) + 1
for x, y in sorted(d.items()):
print(f'{x} {y}')
时间超限82
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:634 |
幸运数 (C++代码)浏览:1264 |
1011题解浏览:765 |
K-进制数 (C语言描述,蓝桥杯)浏览:925 |
字符逆序 (C语言代码)浏览:460 |
1124题解浏览:595 |
单词个数统计 (C语言代码)浏览:1012 |
C语言程序设计教程(第三版)课后习题6.7 (C语言代码)浏览:685 |
简单的a+b (C语言代码)浏览:416 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:376 |