java华为od机试书生编号1-n,先按照身高优先排序,身高相等时按照体重排序,输出排序后的编号 需要用到双重比较

【python练习题 02】按身高和体重排队 某学校举行运动会,学生们按编号(1、2、3…n)进行标识,现需要按照身高由低到高排列,对身高相同的人,按体重由轻到重排列;对于身高体重都相同的人,维持原有的编号顺序关系。请输出排列后的学生编号。... 阅读详情
import javax.swing.*;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.TreeSet;

public class Main9 {
    public static void main(String[] args) throws IOException {
        BufferedReader buff = new BufferedReader(new InputStreamReader(System.in));
        String first;
        while (null!=(first=buff.readLine())){
            int n = Integer.parseInt(first);
            String[] he = buff.readLine().split(" ");
            String[] kg = buff.readLine().split(" ");
            int[] h = new int[n];
            int[] k = new int[n];
            for(int i=0;i<n;i++){
                h[i]=Integer.parseInt(he[i]);
                k[i]=Integer.parseInt(kg[i]);
            }
            st[] sts = new st[n];
            for(int i=0;i<n;i++){
                sts[i]=new st(i+1,h[i],k[i]  );
            }
            Arrays.sort(sts, new Comparator<st>() {
                @Override
                public int compare(st o1, st o2) {
                    if(o1.h==o2.h) return o1.k-o2.k;
                    else return o1.h-o2.h;
                }
            });

            for (st s:
                 sts) {
                System.out.print(s.n+" ");
            }

        }
    }

}
class st{
    int n;
    int h;
    int k;
    st(int n, int h, int k  ){
        this.n=n;
        this.h=h;
        this.k=k;
    }
}
 
华为OD机试 - 按身高和体重排队(Java) | 机试题+算法思路+考点+代码解析 【2023】 我们首先从控制台输入一个整数,表示学生的数量,然后输入学生的身高和体重,将学生的身高和体重封装成Student类,并将这些Student类放入一个List集合中,然后使用Collections.sort()方法对List集合进行排序,排序规则是按照身高、体重和学号的顺序排序,最后输出排序后的学号。n)进行标识,现需要按照身高由低到高排列,对身高相同的人,按体重由轻到重排列;输出的第一个数字2表示此人原始编号为2,即身高为100,体重为30的这个人。排列结果,每个数值都是原始序列中的学生编号,编号从1开始。 阅读详情

相关推荐

如何在华为OD机试中获得满分?Java实现【按身高和体重排队】一文详解!

✅创作者:陈书予 🎉个人主页:陈书予的个人主页 🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区 🌟专栏地址: Java华为OD机试真题(2022&2023) 某学校举行运动会,学生们按编号(1、2、3…n)进行标识,现需要按照身高由低到高排列,对身高相同的人,按体重由轻到重排列; 对于身高体重都相同的人,维持原有的编号顺序关系。请输出排列后的学生编号。两个序列,每个序列由n个正整数组成(0 < n

陈书予 421

小朋友排队

小朋友排队 n 个小朋友站成一排。 现在要把他们按身高从低到高的顺序排列,但是每次只能交换位置相邻的两个小朋友。 每个小朋友都有一个不高兴的程度。 开始的时候,所有小朋友的不高兴程度都是 0。 如果某个小朋友第一次被要求交换,则他的不高兴程度增加 1,如果第二次要求他交换,则他的不高兴程度增加 2(即不高兴程度为 3),依次类推。当要求某个小朋友第 k 次交换时,他的不高兴程度增加 k。 请问,要让所有小朋友按从低到高排队,他们的不高兴程度之和最小是多少。 如果有两个小朋友身高一样,则他们谁站在谁前面是没

Axelrod的博客 380

华为机试真题实战应用【赛题代码篇】-按照身高体重排队/运动会(附Java、Python和C++代码)

输出的第一个数字2表示此人原始编号为2,即身高为100, 体重为30这个人。由于他何编号为1的人身高一样,但体重更轻,因此排在1号的前面。两个序列,每个序列由n个正整数组成(0 < n

qq_36130719的博客 647

算法之排序

在生活中,我们离不开排序。例如上体育课时,同学们会按照身高顺序进行排队;又如每一场考试后,老师会按照考试成绩排名次。

My Blog 1158

华为OD机试 - 按身高和体重排队(Java 2025 C卷 100分)

每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天优快云在线答疑。

学Java,找哪吒 1525

华为OD机试-按身高和体重排队(Java&Python&Js)100%通过率

华为od机考题目,100%通过率

qq_52994629的博客 668

【华为OD机试-按身高和体重排队-Java】

华为OD机试-按身高和体重排队-Java

weixin_44505462的博客 1940

【华为OD机试真题】23、按身高和体重排队 | 机试真题+思路参考+代码解析(C++、Java、Py、JS)

题目描述 >某学校举行运动会,学生们按编号(1、2、3…n)进行标识,现需要按照身高由低到高排列,对身高相同的人,按体重由轻到重排列;对于身高体重都相同的人,维持原有的编号顺序关系。请输出排列后的学生编号

正在更新最新华为OD机试2025B卷,提供OJ在线刷题 1159

Java 数组排序 sort,Comparator实现排序/学生身高体重排序 /

java comparator的用法,#JavaComparator的用法##1.引言在Java中,Comparator接口是用来定义两个对象的比较规则的,它可以实现对对象的排序和定制化排序。需要注意的是,对于自定义的对象进行排序,对象需要实现 Comparable 接口或者提供 Comparator 接口的实现。在上述代码中,我们使用Collections.sort方法对list进行排序,第一个参数是要排序的list,第二个参数是Comparator对象。// 若身高和体重都相同,维持原有的编号顺序。

weixin_45600395的博客 2369

OI 生涯回忆录 《Pilgrimage》

前言 于 NOI2020 后写下本文。 本文简单提及了在写作时尚能回忆起来的,在我的 OI 生涯中对我的影响重大的人、事、比赛等。 写作本文,旨在在回忆允许的范围内,对 OI 生涯进行一定程度上的梳理,总结。 开端 入门 我最早接触计算机程序设计,是在小学。 那时候,我的数学成绩不错,就被老师推荐去学习编程。 就这样,我在局前街小学的何静老师的指导下,走上了编程的道路。 小学时的编程,与其说是 “竞赛” ,不如说是 “兴趣班” 。 当时,包括我在内,很多小孩子天性是浮躁的。支撑我对着无聊的代码学下去的,并不

cz_xuyixuan的博客 1万+

Cadence 中Cutout、Design_Outline 和 Outline的区别

摘要: 在PCB设计中,Cutout、Design_Outline和Outline都与电路板外形相关但用途不同。Cutout用于定义切割区域(如孔、槽),直接影响制造;Design_Outline仅标记设计边界,作为参考不影响切割;Outline则是实际切割轮廓层,用于制造。三者区别在于:Cutout针对具体切割区域,Design_Outline是设计参考,Outline是最终切割依据。设计时需根据需求选择合适层:外形参考用Design_Outline/Outline,切割区域用Cutout。

卤煮小鱼的博客 1783

按身高体重排名

按身高体重排名

qq_48314377的博客 844

R语言笔记三:矩阵、数组、列表和数据框

1.矩阵        矩阵是二维的,需要有行和列。向量是一维的。        在R软件中,矩阵是有维数的向量,这里的矩阵元素可以是数值型、字符型或者逻辑型,但是每个元素必须拥有相同的模式,这个和向量一致。 (1)创建矩阵: m <- matrix(1:20,4,5) 行数和列数的分配必须满足分配条件。若分配的行列过大,分配的元素不足够,则报错。 m <-

weixin_44384631的博客 6210

华为机试:身高体重排序

【编程题目 | 100分】身高体重排序 [ 100 / 中等 ] 身高体重排序 题目描述: 某学校举行运动会,学生们按编号(1、2、3…n)进行标识,现需要按照身高由低到高排列,对身高相同的人,按体重由轻到重排列;对于身高体重都相同的人,维持原有的编号顺序关系。请输出排列后的学生编号。 输入描述: 两个序列,每个序列由n个正整数组成(0 < n <= 100)。第一个序列中的数值代表身高,第二个序列中的数值代表体重。。 输出描述: 排列结果,每个数值都是原始序列中的学生编号,编号从1开始,身高从

小朱小朱绝不认输的博客 6847

2025年从零开始:构建你的首个ComfyUI工作流-ComfyUI入门教程

然而,由于它拥有众多的插件节点,以及较为复杂的操作流程,学习起来相对困难。以前面搭建的文生图工作流为例,首先点击功能区的【保存】,然后你的浏览器会出来一个弹窗,你可以进行文件命名,点击确定后浏览器会下载该文件,也就是带“json”后缀的文件,这样我们的工作流就打包成一份文件了。思考一下前面说的,节点是不是需要下载安装才能使用,而我们复用别人的工作流,他用的节点你不一定下载了,因为目前有600多个节点,你不可能全部下载了吧,所以我们日后使用别人的工作流,你会经常出现这样的问题。

weixin_59486588的博客 1454

HyperMesh 2025新功能尝鲜:用Volume Tetramesh一键生成工业级四面体网格

HyperMesh 2025推出的Volume Tetramesh功能,通过“体到体”的全新范式,实现了工业级四面体网格的一键生成。该功能利用Proximity与Curvature参数智能识别并加密几何特征,将工程师从繁琐的几何清理和表面网格划分中解放出来,在保证网格质量的同时,显著提升了前处理效率,尤其适用于发动机缸体等复杂模型的仿真分析。

weixin_29229055的博客 477

18-按身高排序输出编号

一小组一共n人(n

Eccentric哈哈的博客 2499

vue3 - 高德地图定位出错Get ipLocation failed.Geolocation permission denied.(info: “FAILED“ | status: 0)报错解决!

vue3,nuxt3,高德地图,定位,位置,报错,AMap.Geolocation,解决报当前定位失败,高德地图H5 定位失败报错,web网页网站,报错详细解决教程,Get ipLocation failed.Geolocation permission denied.,高德地图定位报错info: "FAILED",高德地图status: 0,已经是https了还是报错,确保了浏览器位置已经开了,手机定位也开了,没解决,H5页面在ios的浏览器上使用 高德地图 报当前定位失败Geolocation,移动端设

✅ 精选推荐文章 6771

2023/12/23 作业第一题代码

【代码】2023/12/23 作业第一题代码。

weixin_44928360的博客 1292

零基础基于U-Net网络实战眼底图像血管提取

文章目录1 前言2 血管提取任务概述3 U-Net架构简介4 眼底图像血管分割代码5 结果评估可视化(ROC曲线)6 改进U-Net网络完成眼底图像血管提取任务思路 1 前言 本文基于U-Net架构完成了视网膜血管的提取任务,基于Keras框架更简单的实现分割,网络、工具类、训练和预测的代码一目了然

NJU phd 在读。 5199

华为服务器BMC方式安装系统-官方文档解读

华为服务器BMC方式安装系统 安装完成之后我们有两种方式去安装系统, > 一、服务器连接显示屏、键盘、鼠标和启动盘去启动服务器安装系统(弊端:需要制作单独启动盘并且需要硬件资源) > 二、使用BMC方式安装系统,也就是说使用网线连接我们的笔记本和服务器的BMC口或者mgt口去进行安装。

王明的博客 4579

华为OD机试-按身高和体重排序

某学校举行运动会,学生们按编号(1、2、3...n)进行标识,现需要按照身高由低到高排列, 对身高相同的人,按体重由轻到重排列;* 2、从未排序队列中取出一项(不放回,取最后一项,取哪项随意),在已排序的队列中查找到合适的位置(前一项身高小于或等于当前项,* 如果查找的项与当前项身高体重都相同,则继续查找,后一项身高大于或等于当前项(不能同时相同)* 1、分两个队列,一个队列是待排序的项,另一个队列是已排序的项,排列结果,每个数值都是原始序列中的学生编号,编号从1开始。个人原创,如有错误和不足,敬请指正,

weixin_47687316的博客 421

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

按身高和体重排队(华为OD,Java)

【代码】按身高和体重排队(华为OD,Java)

CloudMapZY的博客 512

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

0024-华为OD机考:身高--体重排序

vector-pair对的使用,map的使用,迭代器的失效,cmp比较函数

学习-记录-分享创造价值 1109

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

按身高和体重排队

按身高和体重排队 题目描述: 某学校举行运动会,学生们按编号(1、2、3…n)进行标识,现需要按照身高由低到高排列,对身高相同的人, 按体重由轻到重排列;对于身高体重都相同的人,维持原有的编号顺序关系。请输出排列后的学生编号。 输入描述: 两个序列,每个序列由 n 个正整数组成(0 < n <= 100)。第一个序列中的数值代表身高,第二个序列中的数值代表体重。 输出描述: 排列结果,每个数值都是原始序列中的学生编号,编号从 1 开始 示例 1 输入: 4 100 100 120 130 40

Mwwwwwwww的博客 4331

406  根据身高和序号重新排序

点击此处返回总目录 【题目】 【...

liupc的学习笔记 1985
上一篇: java华为od机试 已知总和为sum,连续序列个数为n,求该序列
下一篇: hadoop配lzo压缩配置
BigData-0
博客等级 码龄7年 341粉丝 309原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BigData-0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值