磁盘容量排序
标题:磁盘容量排序 | 时间限制:1秒 | 内存限制:262144K | 语言限制:不限
磁盘的容量单位常用的有M,G,T这三个等级,它们之间的换算关系为1T = 1024G,1G = 1024M,现在给定n块磁盘的容量,请对它们按从小到大的顺序进行稳定排序,例如给定5块盘的容量,1T,20M,3G,10G6T,3M12G9M排序后的结果为20M,3G,3M12G9M,1T,10G6T。注意单位可以重复出现,上述3M12G9M表示的容量即为3M+12G+9M,和12M12G相等。
import re
num = int(input())
array = []
def a(s):
count = 0
t = re.findall('(\d+)(M|G|T)', s)
if len(t) > 0:
for v in t:
if v[1] == 'M':
count = int(v[0]) + count
elif v[1] == 'G':
count = int(v[0]) * 1024 + count
elif v[1] == 'T':
count = count + int(v[0]) * 1024 * 1024
return count
else:
return 0
for i in range(num):
h = input()
array.append((a(h), h))
array = sorted(array, key=lambda x : x[0])
for i in array:
print(i[1])

顺丰集团工作强度 382人发布