【华为OD机试真题 Python】寻找身高相近的小朋友,输入 第一行为正整数H和N,0<H<200,为小明的身高,0<N<50,为新班级其他小朋友个数。 第二行为N个正整数H1-HN,分别是其他小朋友的身高,取值范围0<Hi<200(1<=i<=N),且N个正整数各不相同。输出排序结果,各正整数以空格分割。和小明身高差绝对值最小的小朋友排在前面,和小明身高差绝对值最大的小朋友排在最后,如果两个小朋友和小明身高差一样,则个子较小的小朋友排在前面。输入 100 10 95 96 97 98 99 101 102 103 104 105 输出 99 101 98 102 97103 96 104 95 105,请写出python实现代码
时间: 2023-03-14 11:55:16 浏览: 199
【免费题库】华为OD机试 - 寻找身高相近的小朋友(Java & JS & Python & C & C++).html
答:H = int(input()) # 读取小明的身高
N = int(input()) # 读取小朋友的个数
Hs = [int(x) for x in input().split()] # 读取小朋友的身高
Hs.sort(key=lambda x: abs(x-H)) # 按照身高差绝对值排序
print(' '.join([str(x) for x in Hs])) # 输出排序结果
阅读全文