华为OD机试 -身高排序(Java)

2023-11-17

题目描述

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

输入描述

第一行为正整数H和N
0 < H < 200 为小明的身高
0 < N < 50 为新班级其他小朋友个数
第二行为N个正整数
H1 ~ Hn分别是其他小朋友的身高
取值范围0 < Hi < 200
且N个正整数各不相同

输出描述

输出排序结果,各正整数以空格分割
和小明身高差绝对值最小的小朋友排在前面
和小明身高差绝对值最大的小朋友排在后面
如果两个小朋友和小明身高差一样
则个子较小的小朋友排在前面

示例一

输入

100 10
95 96 97 98 99 101 102 103 104 105

输出

99 101 98 102 97 103 96 104 95 105

详细代码

import org.apache.commons.lang3.StringUtils;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
import java.util.stream.Collectors;

/**
 * @Author: gyt
 * @Version: 1.0
 **/
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String[] reqArr = scanner.nextLine().split(" ");
        int m = Integer.parseInt(reqArr[0]);
        int n = Integer.parseInt(reqArr[1]);
        String[] arrStr = scanner.nextLine().split(" ");
        List<Integer> res =
                Arrays.stream(arrStr)
                        .map(Integer::parseInt)
                        .collect(Collectors.toCollection(() -> new ArrayList<>(n)));
        solution(m, res);
    }

    private static void solution(int m, List<Integer> res) {
        res.sort((o1, o2) -> {
            int abs1 = Math.abs(o1 - m);
            int abs2 = Math.abs(o2 - m);
            return abs1 == abs2 ? o1 - o2 : abs1 - abs2;
        });
        String result = StringUtils.join(res, " ");
        System.out.println(result);
    }
}

运行结果

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

华为OD机试 -身高排序(Java) 的相关文章

随机推荐

  • 使用MySQL创建数据库的语句

    一 mysql怎么创建数据库 MySQL是一个开放源代码的关系型数据库管理系统 创建数据库的首要任务就是了解MySQL如何创建数据库 创建一个MySQL数据库只需要使用CREATE DATABASE语句即可 使用这个语句 您可以指定新数据库
  • antdmessage使用_Antd message 这种组件为什么不需要在Render中使用,只需要在方法中调用...

    一般的引用antd中的组件我们需要 import Button from antd class App extends React Component render return 如上代码所示 需要把import的组件放在我们的render
  • 如何使用大型语言模型与任何 PDF 和图像文件聊天 — 使用代码 构建可以回答有关任何文件的问题的人工智能助手的完整指南

    介绍 PDF 和图像文件中蕴藏着如此多有价值的信息 幸运的是 我们拥有强大的大脑 能够处理这些文件以查找特定信息 这实际上很棒 但是 我们中有多少人内心深处不希望有一个工具可以回答有关给定文档的任何问题 项目的一般工作流程 清楚地了解正在构
  • 小福利,使用python里面的basemap模块和folium模块制作可视化地图

    小福利 使用python里面的basemap模块和folium模块制作可视化地图 首先导入模块 import json folium requests import mimetypes import http client import p
  • spring项目中监控方法执行时间

    当项目规模越来越大时 难免会遇到性能问题 尤其是多系统之间接口调用 所以添加时间监控很有必要 但是由于代码已经上线 所以要保证对代码的侵略性最小 所以Spring AOP可以解决这个问题 首先定义监控方法 package com proje
  • Java实现定义员工类的实例

    文章目录 定义员工类的实例 题目 准备知识 标准JavaBean static关键字的使用 源代码 定义员工类的实例 题目 需求 请完成一个标准实体类的设计 并提供如下要求实现 某公司的员工信息系统中 需要定义一个公司的员工类Employe
  • 微服务初始

    今天准备开始学习微服务 使用微服务肯定是因为他有好处 首先了解到的三种架构 传统单体 集群架构 微服务架构 单体架构 有单点问题 如果宕机所有的服务都不可用 所有业务的功能模块都聚集在一起 如果代码量多 功能之前如果有很多共同的代码 不同业
  • 自写控件:滑动呈现控件(实现了两个以上控件间的切换)我写的

    namespace SyncCenter My public class SlidPanel System Windows Forms UserControl private Dictionary
  • RESTful设计方法

    REST REST 即Representational State Transfer的缩写 维基百科称其为 具象状态传输 国内大部分人理解为 表现层状态转化 RESTful是一种开发理念 维基百科说 REST是设计风格而不是标准 REST描
  • Navicat备份数据库和还原数据库详解

    Navicat备份数据库和还原数据库详解 首先我们知道Navicat备份的数据库文件为XX psc文件 当然也可以备份成XX sql文件 下面我们以常用的XX psc文件为例 来详细操作数据库的备份 其他数据库可视化工具以后再详述 废话不多
  • Nginx配置WS、WSS域名

    文章目录 一 Nginx配置WS 二 Nginx配置WSS 一 Nginx配置WS WS的全称是WebSocket Nginx配置WebSocket也比较简单 只需要在nginx conf文件中进行相应的配置 这种方式很简单 但是很有效 能
  • ssim算法计算图片_图片的相似度--图像结构相似度SSIM

    计算两张图片的相似度 图片结构相似度 SSIM SSIM的全称为structural similarity index 结构相似性 分别从亮度 对比度 结构三方面度量图像相似性 均值作为亮度的估计 标准差作为对比度的估计 协方差作为结构相似
  • 在 Dev-C++ 或 Code::Blocks 下面配置 EasyX !

    前言 EasyX 虽然挺好用 但是目前官方只发布了针对 VC 的使用方法 本文介绍如何将 EasyX 配置到 DevCpp 或 CodeBlocks 里面 并提供相关的库 平时我工作忙 有问题直接在后面留言 我会尽力修改 注 版本太老的 m
  • 华为校招机试题-查找重复代码-2023年

    题目描述 小明负责维护项目下的代码 需要查找出重复代码 用以支撑后续的代码优化 请你帮助小明找出重复的代码 重复代码查找方法 以字符串形式给定两行代码 字符串长度 1 lt length lt 100 由英文字母 数字和空格组成 找出两行代
  • mvc:annotation-driven 与 mvc:default-servlet-handler的作用

    本人见解 两个标签需要配合使用 可以很好地处理SpringMVC请求静态资源或者控制器时的选择 静态资源包括图片 jsp css 但是不设置的话访问jsp可以显示 不知原因 下方转发自 https www cnblogs com cyhby
  • 平衡小车学习总结

    1 平衡小车硬件选择 带编码器的直流减速电机 两个 18650电池组 平衡车支架 MPU 6050陀螺仪 stm32f103c8t6 OLED iic通信协议 0 96寸 TB6612 2 硬件准备阶段 根据电路原理 平衡小车电路板 单片机
  • 计算机如何隐藏任务栏的程序,Win7隐藏任务栏

    本文主要介绍了2个方面的内容 1 Win7隐藏任务栏程序 2 隐藏Win7任务栏上图标 不少用户希望把任务栏程序隐藏起来 或者是把Win7任务栏右侧 正在运行的软件的图标隐藏起来 这样其他人就不能直接发现自己电脑上运行的程序了 一 隐藏Wi
  • 机器学习之有监督学习

    监督学习的目标 利用一组带有标签的数据 学习从输入到输出的映射 然后将这种映射关系应用到未知数据上 达到分类或回归的目的 分类 当输出是离散的 学习任务为分类任务 回归 当输出是连续的 学习任务为回归任务 分类学习 输入 一组有标签的训练数
  • python 3.9 Building wheel for opencv-contrib-python (PEP 517)

    问题 python3 9安装airetest 一直卡在 Building wheel for opencv contrib python PEP 517 解决办法 降低opencv contrib python版本先安装opencv con
  • 华为OD机试 -身高排序(Java)

    题目描述 小明今年升学到了小学一年级 来到新班级后 发现其他小朋友身高参差不齐 然后就想基于各小朋友和自己的身高差 对他们进行排序 请帮他实现排序 输入描述 第一行为正整数H和N 0 lt H lt 200 为小明的身高 0 lt N lt