有勇气的牛排博客
☰

HJ成绩排序

有勇气的牛排 1183 算法 2022-06-22 13:06:31

知止自律打卡-微信小程序APP
一款微信自律打卡小程序,支持自定义打卡项目、习惯记录、项目日记、专注计时与数据统计。自律打卡、学习打卡、读书打卡、健身打卡、运动打卡、减肥打卡、戒色打卡、养生打卡、戒烟、戒酒、戒熬夜等多种场景。万能打卡模板自由创建。可自定义每日打卡目标,记录习惯连续天数,可视化追踪成长进度。
了解产品详情 →
微信搜索「知止自律打卡」
知止自律打卡微信小程序

知识点: 排序

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

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

评论区

×
×