HJ成绩排序

x33g5p2x  于2022-06-29 转载在 其他  
字(0.7k)|赞(0)|评价(0)|浏览(216)

知识点: 排序

描述
给定一些同学的信息(名字,成绩)序列,请你将他们的信息按照成绩从高到低或从低到高的排列,相同成绩
都按先录入排列在前的规则处理。

例示:
jack 70
peter 96
Tom 70
smith 67

从高到低 成绩
peter 96
jack 70
Tom 70
smith 67

从低到高
smith 67
jack 70
Tom 70
peter 96

注:0代表从高到低,1代表从低到高

数据范围:人数:1\le n \le 200\1≤n≤200
进阶:时间复杂度:O(nlogn)\O(nlogn) ,空间复杂度:O(n)\O(n)

输入描述:
第一行输入要排序的人的个数n,第二行输入一个整数表示排序的方式,之后n行分别输入他们的名字和成绩,以一个空格隔开

输出描述:
按照指定方式输出名字和成绩,名字和成绩之间以一个空格隔开

示例1

输入:3
      0
      fang 90
      yang 50
      ning 70

输出:fang 90
      ning 70
      yang 50

示例2

输入:3
      1
      fang 90
      yang 50
      ning 70

输出:
      yang 50
      ning 70
      fang 90

牛客HJ Python

# 运行时间44ms 占用内存4648KB
n = int(input())
t = int(input())

l = []
for i in range(n):
    name,score = input().split()
    l.append((name, int(score)))
    
if t == 1:
    l.sort(key=lambda x:x[1], reverse=False)
else:
    l.sort(key=lambda x:x[1], reverse=True)

for i in l:
    print(i[0],i[1])

原文链接:
https://www.920vip.net/article/180

CSDN 社区图书馆,开张营业!

深读计划,写书评领图书福利~

相关文章