题解 | #成绩排序#
成绩排序
https://www.nowcoder.com/practice/8e400fd9905747e4acc2aeed7240978b
import bisect
n = int(input())
direction = int(input())
record = []
score = []
for i in range(n):
name,s = input().split(' ')
s = int(s)
if score and s>score[-1]:
score.append(s)
record.append(' '.join([name,str(s)]))
else:
index= bisect.bisect_right(score,s) if direction==1 else bisect.bisect_left(score,s)
score.insert(index,s)
record.insert(index,' '.join([name,str(s)]))
if direction==0:
record = record[::-1]
for one in record:
print(one)
二分查找即可
查看9道真题和解析