华为OD机试【高矮个子排队】(java)(100分)

1、题目描述

现在有一队小朋友,他们高矮不同,我们以正整数数组表示这一队小朋友的身高,如数组{5,3,1,2,3}。
我们现在希望小朋友排队,以“高”“矮”“高”“矮”顺序排列,每一个“高”位置的小朋友要比相邻的位置高或者相等;每一个“矮”位置的小朋友要比相邻的位置矮或者相等;
要求小朋友们移动的距离和最小,第一个从“高”位开始排,输出最小移动距离即可。
例如,在示范小队{5,3,1,2,3}中,{5, 1, 3, 2, 3}是排序结果。{5, 2, 3, 1, 3} 虽然也满足“高”“矮”“高”“矮”顺序排列,但小朋友们的移动距离大,所以不是最优结果。
移动距离的定义如下所示:
第二位小朋友移到第三位小朋友后面,移动距离为1,若移动到第四位小朋友后面,移动距离为2;

2、输入描述

排序前的小朋友,以英文空格的正整数:
4 3 5 7 8
注:小朋友<100个

3、输出描述

排序后的小朋友,以英文空格分割的正整数:
4 3 7 5 8
备注:4(高)3(矮)7(高)5(矮)8(高), 输出结果为最小移动距离,只有5和7交换了位置,移动距离都是1。
用例:

输入
4 1 3 5 2

输出
4 1 5 2 3

温馨提示!!!
华为OD机试考试官方会对考生代码查重。华为od机试因为有题库所以有很大的概率抽到原题。如果碰到了题库中的原题,千万不要直接使用题解中的代码,一定要做些修改,比如代码中的变量名,除此之外,代码的组织结构和逻辑也要进行一些改变,所以在日常的刷题中,要提前编写好属于自己的代码。

4、题解

通过while循环进行判断,是否可以高矮交换,偶数位为高位,奇数位为低位。
代码如下:

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int[] childs = Arrays.stream(sc.nextLine().split(" "))
            .mapToInt(Integer::parseInt).toArray();

    int pos = 0;
    while (pos+1 < childs.length) {
        // 偶数位高位 pos则为奇数位
        if ((pos + 1) % 2 == 0) {
            if (childs[pos] > childs[pos+1]) {
                int tmp = childs[pos];
                childs[pos] = childs[pos+1];
                childs[pos+1] = tmp;
            }
        }else {
            // 奇数位低位 pos则为偶数位
            if (childs[pos] < childs[pos+1]) {
                int tmp = childs[pos];
                childs[pos] = childs[pos+1];
                childs[pos+1] = tmp;
            }
        }
        pos++;
    }

    for (int child : childs) {
        System.out.print(child + " ");
    }
}

执行结果如下:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/745298.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Ollama模型部署工具在Linux平台的部署

1.新建普通用户dmx&#xff08;可选&#xff09; [rootnode3 ~]$ useradd dmx2.切换普通用户dmx环境(可选) [dmxnode3 ~]$ su - dmx3.下载ollama-linux-amd64服务 下载ollama-linux-amd64到 ~/server目录&#xff0c;并将ollama-linux-amd64服务重命名为ollamaEED curl -L …

【仿真】UR机器人手眼标定与实时视觉追踪(单目)

这段代码实现了一个机器人视觉引导系统,主要功能包括: 连接仿真环境,控制UR机器人。相机标定: 使用棋盘格图案进行相机内参标定通过移动机器人采集多组图像使用calibrateCamera函数计算相机内参 手眼标定: 采集机器人末端位姿和对应的棋盘格图像使用calibrateHandEye函数计算相…

Percona Toolkit 神器全攻略(配置类)

Percona Toolkit 神器全攻略&#xff08;配置类&#xff09; Percona Toolkit 神器全攻略系列共八篇&#xff0c;前文回顾&#xff1a; 前文回顾Percona Toolkit 神器全攻略Percona Toolkit 神器全攻略&#xff08;实用类&#xff09; 全文约定&#xff1a;$为命令提示符、gr…

51-61 CVPR 2024 最佳论文 | Rich Human Feedback for Text-to-Image Generation

23年12月&#xff0c;加州大学圣地亚哥、谷歌研究院、南加州大学、剑桥大学联合发布Rich Human Feedback for Text-to-Image Generation论文。 作者受大模型中RLHF技术的启发&#xff0c;用人类反馈来改进Stable Diffusion等文生图模型&#xff0c;提出了先进的RichHF-18K数据…

批归一化(Batch Normalization)和层归一化(Layer Normalization)的作用

在深度学习领域&#xff0c;归一化技术被广泛用于加速神经网络的训练速度并提高其稳定性。本文将介绍两种常见的归一化方法&#xff1a;批归一化&#xff08;Batch Normalization, BN&#xff09;和层归一化&#xff08;Layer Normalization, LN&#xff09;&#xff0c;并通过…

在虚拟机中安装centos系统,及通过安装包安装jdk1.8,mysql5.7,redis7.2

在虚拟机中安装centos系统&#xff0c;及通过安装包安装jdk1.8,mysql5.7,redis7.2 第一章 CentOS7的下载1.1.使用阿里云开源镜像站下载。 第二章 CentOS7的配置2.1.通过VMware 创建一个CentOS7虚拟机2.1.1.打开软件&#xff0c;点击如箭头所示按钮&#xff0c;创建虚拟机2.1.2.…

【建设方案】智慧园区大数据云平台建设方案(DOC原件)

大数据云平台建设技术要点主要包括以下几个方面&#xff1a; 云计算平台选择&#xff1a;选择安全性高、效率性强、成本可控的云计算平台&#xff0c;如阿里云、腾讯云等&#xff0c;确保大数据处理的基础环境稳定可靠。 数据存储与管理&#xff1a;利用Hadoop、HBase等分布式…

全球最快的 JSON 文件查询工具

本文字数&#xff1a;1684&#xff1b;估计阅读时间&#xff1a;5分钟 审校&#xff1a;庄晓东&#xff08;魏庄&#xff09; 本文在公众号【ClickHouseInc】首发 介绍 在 ClickHouse&#xff0c;我们热衷于基准测试和性能优化。所以当我第一次看到 Hacker News 上那篇“查询大…

aspectj:AOP编程备忘录-切面定义的注意事项

AOP编程时定义切面时需要注意的事 Around 以Around注解拦截构造方法(Constructor)时切面定义只能用call方式而不能是execution&#xff0c;否则 ProceedingJoinPoint.proceed()返回的是null&#xff0c;得不到构造的实例。 execution execution切入点要修改对象内部&#x…

惊!两个样本的简单分组实验登上了园艺学顶级期刊

在真核细胞中&#xff0c;基因组DNA被包装成高度组织化的核蛋白复合体&#xff0c;称为染色质。染色质的基本单元是核小体&#xff0c;它由一个核心组蛋白八聚体&#xff08;组蛋白H2A、H2B、H3和H4各两个&#xff09;组成&#xff0c;其周围缠绕着大约146个碱基对的DNA。这些组…

汇编语言作业(九)

目录 一、实验目的 二、实验内容 三&#xff0e;实验步骤以及结果 1. 从键盘缓冲区中接受一个英文字符串&#xff08;长度<50), 如“AB123cdE*87fGabFZ”&#xff0c;要求将其大写转小写&#xff0c;小写转大写后存入以result地址开始的缓冲区中&#xff0c;并输出。 2…

无线WiFi毫米波雷达传感器成品,智能照明人体感应开关,飞睿智能点亮智慧生活

在智能科技飞速发展的今天&#xff0c;我们的生活正被各种智能设备所包围&#xff0c;其中智能照明作为智能家居的重要组成部分&#xff0c;正逐渐改变着我们的生活方式。而在这背后&#xff0c;有一个默默工作的“小助手”——飞睿智能毫米波雷达传感器&#xff0c;它就像智能…

kettle创建资源库无法登录问题

问题&#xff1a;You dont seem to be getting a connection to the server. Please check the path youre using and make sure the server is up and running. 1. 删除资源库 2.删除数据库中R_开头的表 3.重新创建资源库连接&#xff0c;查看是否成功产生表 4.创建成功&…

InVEST实践及在生态系统服务供需、固碳、城市热岛、论文写作等实际项目中应用

白老师&#xff08;研究员&#xff09;&#xff1a;长期从事生态系统结构-格局-过程-功能-服务的变化与响应关系等研究工作,重点围绕生物多样性、生态系统服务与价值等&#xff0c;构建生物地球化学模型和评价指标体系&#xff0c;为城市、区域和自然保护区的可持续发展和生态环…

AI绘画的10种变现方法,逼你躺平挣钱

AI绘画到底能多挣钱&#xff01; 马上看证据&#xff0c;知乎和其它平台的收益&#xff0c;AI绘画挣的稿费&#xff0c;还有某音某瓜的稿费。 都是有AI绘画的一大功劳&#xff01; 接下来介绍AI绘画的十种挣钱方法&#xff0c;有折腾的收益&#xff0c;也有躺平的收益&#x…

SQL Server 2022从入门到精通

大家好&#xff0c;我是爱编程的喵喵。双985硕士毕业&#xff0c;现担任全栈工程师一职&#xff0c;热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。…

基于springboot+vue的梦幻玩具乐园的设计与实现(在线购物平台)

需要源码和论文的小伙伴可以私信博主&#xff08;有偿&#xff09; ​​​​​课题目的与意义 随着互联网的不断普及与在线销售平台的迅猛发展&#xff0c;在线购物日益受到广大消费者的青睐与追捧。通过构建基于Spring BootVue的在线玩具商城&#xff0c;可以为玩具制造商、…

财务RPA的优势——探讨财务RPA带来的效率和准确性优势

企业财务是企业信息化和数字化转型过程中的重要一环&#xff0c;随着企业的不断发展壮大&#xff0c;财务业务往来更加频繁&#xff0c;以往的财务管理运作模式高度依赖人工操作&#xff0c;已无法适应大量新的业务需求。RPA机器人流程自动化可以根据预设程序辅助人工处理大量重…

Spring的jar包下载(最新版6.0版本)

1.在Spring官网的projects下面点击spring-framework 2.进入github官网 3.进入github后往下滑&#xff0c;点击Spring Framework Artifacts 4.往下滑找到 点击 5.在左边先点击Artifacts&#xff0c;在右边找到 libs-snapshot&#xff0c;展开libs-snapshot&#xff08;之前其他…

2024第十三届中国PMO大会主持人介绍

全国PMO专业人士年度盛会 由PMO评论主办的2024第十三届中国PMO大会邀请了到十几位知名企业的PMO和项目管理专家来担任大会主持人。大会将于6月29-30日在北京举办&#xff0c;敬请关注&#xff01; 主持人介绍 肖杨&#xff0c;国际知名组织级项目管理专家&#xff0c;微薄之力…