【华为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 08:55:16 浏览: 120
答: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])) # 输出排序结果
相关问题
华为od机试真题-寻找身高相近的小朋友
小朋友们正在学校参加一个儿童游戏。游戏的规则是找到身高和自己相近的小朋友,并和他们握手。小朋友们在校园里来回奔跑,寻找自己身高相近的小朋友。有的小朋友很快就找到了符合条件的伙伴,有的小朋友却找了很长时间也没有找到。
游戏结束后,大家开始讨论游戏的体验,有的小朋友表示很快就找到了符合条件的伙伴,感到很开心。有的小朋友则感叹自己的身高没有符合条件的伙伴,感到有些失落。老师看到了小朋友们的情绪变化,及时给予了安慰和鼓励。她告诉小朋友们,身高只是一个数字,并不代表一个人的全部,而是应该用心去了解和尊重每一个人。
这个游戏让小朋友们明白了身高只是一个方面,人与人之间的合作和默契才是最重要的。在以后的学习和生活中,小朋友们都应该尊重他人,用心去理解和包容不同的个体差异。
通过这次游戏,小朋友们也学会了更多的沟通和合作技巧,明白了团队合作的重要性。大家在游戏中收获了快乐和友谊,也锻炼了自己的观察力和判断力。希望小朋友们在今后的成长中,能够用心去理解和尊重每一个人,发展出更多的友谊和合作精神。
【华为od机试真题 python】整数对最小和
这是一道经典的算法题,我们可以通过编写一个简单的Python函数来解决。
首先,我们定义一个名为min_pair_sum的函数,它接受一个整数数组作为输入。接着,我们初始化一个变量min_sum为无穷大,然后遍历数组中的每对整数,计算它们的和并将其与min_sum进行比较,如果这个和小于min_sum,就更新min_sum的值。最后,返回min_sum作为结果。
下面是一个Python函数的示例代码:
```python
def min_pair_sum(nums):
min_sum = float('inf')
for i in range(len(nums)):
for j in range(i+1, len(nums)):
pair_sum = nums[i] + nums[j]
if pair_sum < min_sum:
min_sum = pair_sum
return min_sum
```
我们可以使用这个函数来求解整数对最小和的问题,比如对于输入数组[1, 4, 3, 2],我们调用min_pair_sum([1, 4, 3, 2]),函数会返回2,因为1和2的和是最小的。
在实际的面试中,我们还可以进一步优化这个算法,比如在遍历数组时先对数组进行排序,然后只计算相邻的两个整数对的和,这样可以减少不必要的计算。总之,这道题目考察了我们对数组操作和算法优化的能力。