题解 | #成绩排序#
成绩排序
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)
二分查找即可