python排序小题
作者:
Mr-Black
,
2023-03-04 14:01:49
,
所有人可见
,
阅读 189
5.1 39 排列字母
s = "dsiovneorifnbvmomfcwp"
a = sorted(s)
print(''.join(a))
5.1 40 统计数字
方法1:简单/超时 O(N^2)
n = int(input())
li = []
for i in range(n): li.append(int(input())) # 注 n行数字的读法
s = list(set(li)) # 去重
s.sort()
for i in s:
print(i,li.count(i))
方法2:巧妙 O(N*logN)
n = int(input())
dic = {}
for i in range(n):
x = int(input()) # 一个一个读入对行数字
if x in dic.keys(): dic[x] += 1 # 如果之前已存在于字典 则直接加1
else: dic[x] = 1 # 否则为新增,等于1
key = list(dic.keys())
key.sort()
for i in key:
print(i,dic[i])
Python多行数据读入
n = int(input())
a = []
for i in range(n):
num = input().split()
for j in range(len(num)):
a.append(int(num[j]))