HJ成绩排序

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

知识点: 排序

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

例示:
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

  1. 输入:3
  2. 0
  3. fang 90
  4. yang 50
  5. ning 70
  6. 输出:fang 90
  7. ning 70
  8. yang 50

示例2

  1. 输入:3
  2. 1
  3. fang 90
  4. yang 50
  5. ning 70
  6. 输出:
  7. yang 50
  8. ning 70
  9. fang 90

牛客HJ Python

  1. # 运行时间44ms 占用内存4648KB
  2. n = int(input())
  3. t = int(input())
  4. l = []
  5. for i in range(n):
  6. name,score = input().split()
  7. l.append((name, int(score)))
  8. if t == 1:
  9. l.sort(key=lambda x:x[1], reverse=False)
  10. else:
  11. l.sort(key=lambda x:x[1], reverse=True)
  12. for i in l:
  13. print(i[0],i[1])

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

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

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

相关文章