寻找身高相近的小朋友-java实现

原题地址

华为OD机试真题-寻找身高相近的小朋友-2023年OD统一考试(C卷)_华为机考题库2023-CSDN博客

解题思路

思路1:使用辅助空间

使用辅助空间Map,key值为身高,value身高差的绝对值,排序时,将value的值作为比较的依据

思路2:重写比较器

根据题干重写比较器的规则.比较器如果返回负数,那么第一个参数排在第二个参数前面

代码实现

这里给出思路2的代码

   public static void solution(Integer arr[], int h, int n) {
        Arrays.sort(arr, (o1, o2) 
                -> Math.abs(o1 - h) != Math.abs(o2 - h) 
                ? Math.abs(o1 - h) - Math.abs(o2 - h) : o1 - o2);
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值