描述
有一群人站队,每人通过一对整数(h, k)来描述,其中h表示人的高度,k表示在此人前面队列中身高不小于此人的总人数。
实现一个算法输出这个队列的正确顺序。
输入格式
输入格式为二维列表,即 list[list[]]形式
外层list包含队列中全部的人,内层list为[h,k]格式,代表个人信息。
输出格式
输出格式为:list[list[int]]形式
与输入格式一样,需要按照队列顺序排列。
输入输出示例
| 输入 | 输出 |
示例 1 | [[7,0], [4,4], [7,1], [5,0], [6,1], [5,2]] | [[5,0], [7,0], [5,2], [6,1], [4,4], [7,1]] |
operator.itemgetter函数
operator模块提供的itemgetter函数用于获取对象的哪些维的数据
operator.itemgetter函数获取的不是值,而是定义了一个函数,通过该函数作用到对象上才能获取值。
from operator import itemgetter
queue = [[7,0], [4,4], [7,1], [5,2], [6,1], [5,0]]
queue.sort(key = itemgetter(1)) #依据第二个元素进行排列
#print(queue)
queue.sort(key = itemgetter(0), reverse = True)
#print(queue)
output = []
for item in queue:
output.insert(item[1], item) #依据第二个元素的位置进行插入
print(output)