一、题目描述
某学校举行运动会,学生们按编号(1、2、3…n)
进行标识,现需要按照身高由低到高排列,对身高相同的人,按体重由轻到重排列;对于身高体重都相同的人,维持原有的编号顺序关系。
请输出排列后的学生编号。
二、输入描述
两个序列,每个序列由n个正整数组成(0 < n <= 100)。第一个序列中的数值代表身高,第二个序列中的数值代表体重。
三、输出描述
排列结果,每个数值都是原始序列中的学生编号,编号从1开始。文章来源:https://www.toymoban.com/news/detail-471305.html
四、解题思路
题目要求对学生进行排序,先按照身高从低到高排序,对于身高相同的学生再按照体重从轻到重排序,保持身高体重相同的学生的编号顺序不变。文章来源地址https://www.toymoban.com/news/detail-471305.html
- 读取输入的两个序列,分别表示身高和体重;
- 创建一个节点类 Node,包含学生的编号、身高和体重;
- 创建节点数组 nodes,长度为学生人数 n;
- 遍历学生,对于每个学生:
- 创建一个节点对象,将学生的编号、身高和体重作为参数传入节点的构造函数;
- 将节点对象存入节点数组 nodes;
- 使用 Arrays.sort() 方法对节点数组进行排序,排序规则为身高从低到
到了这里,关于华为OD机试真题 Java 实现【按身高和体重排队】【2022Q4 100分】,附详细解题思路的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!