华为OD机试C卷--寻找身高相近的小朋友(Java & JS & Python)

飞码创造者 2024-06-11 08:05:06 阅读 66

获取题库不需要订阅专栏,可直接私信我进入CSDN领军人物top1博主的华为OD交流圈观看完整题库、最新面试实况、考试报告等内容以及大佬一对一答疑。

题目描述

小明今年升学到了小学1年级来到新班级后,发现其他小朋友身高参差不齐,然后就想基于各小朋友和自己的身高差,对他们进行排序,请帮他实现排序。

输入描述

第一行为正整数 h和n,0<h<200 为小明的身高,0<n<50 为新班级其他小朋友个数。

第二行为n个正整数,h1 ~ hn分别是其他小朋友的身高,取值范围0<hi<200,且n个正整数各不相同。

输出描述

输出排序结果,各正整数以空格分割,

和小明身高差绝对值最小的小朋友排在前面,

和小明身高差绝对值最大的小朋友排在后面,

如果两个小朋友和小明身高差一样,则个子较小的小朋友排在前面。

题目解析

这个题目要求我们对一组小朋友的身高进行排序,排序的依据是他们与小明的身高差的绝对值,同时,在身高差绝对值相同的情况下,个子较矮的小朋友排在前面。

首先,我们需要读取小明的身高和其他小朋友的身高。

然后,我们可以使用一个列表(或数组)来存储每个小朋友的身高,并计算他们与小明的身高差绝对值。同时,为了处理身高差相同但个子不同的情况,我们可以将每个小朋友的身高也作为一个排序的依据(次要依据)。

最后,我们按照身高差绝对值(主要依据)和身高



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。