当前位置:   article > 正文

华为OD机试 - 按身高和体重排队(Java 2023 B卷 100分)_题目:按照身高体重排队 问题描述 某学校举行运动会,学生们按编号(1、2、3…n)进行

题目:按照身高体重排队 问题描述 某学校举行运动会,学生们按编号(1、2、3…n)进行

一、题目描述

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

请输出排列后的学生编号。

二、输入描述

两个序列,每个序列由n个正整数组成(0 < n <= 100)。第一个序列中的数值代表身高,第二个序列中的数值代表体重。

三、输出描述

排列结果,每个数值都是原始序列中的学生编号,编号从1开始。

四、解题思路

题目要求对学生进行排序,先按照身高从低到高排序,对于身高相同的学生再按照体重从轻到重排序,保持身高体重相同的学生的编号顺序不变。

  1. 读取输入的两个序列,分别表示身高和体重;
  2. 创建一个节点类 Node,包含学生的编号、身高和体重;
  3. 创建节点数组 nodes,长度为学生人数 n;
  4. 遍历学生,对于每个学生:
    • 创建一个节点对象,将学生的编号、身高和体重作为参数传入节点的构造函数;
    • 将节点对象存入节点数组 nodes;
  5. 使用 Arrays.sort() 方法对节点数组进行排序,排序规则为身高从低到高,体重从轻到重,编号顺序不变;
  6. 遍历排序后的节点数组,输出学生的编号;
  7. 输出最终结果。

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号