华为OD机试统一考试D卷C卷 - 按身高和体重排队
题目描述
某学校举行运动会,学生们按编号(1、2、3…n)进行标识,现需要按照身高由低到高排列,对身高相同的人,按体重由轻到重排列;对于身高体重都相同的人,维持原有的编号顺序关系。请输出排列后的学生编号。
输入描述
两个序列,每个序列由n个正整数组成(0 < n <= 100)。
第一个序列中的数值代表身高,第二个序列中的数值代表体重。
输出描述
排列结果,每个数值都是原始序列中的学生编号,编号从1开始
用例1
输入
4 100 100 120 130 40 30 60 50
输出
2 1 3 4
说明
用例2
输入
3 90 110 90 45 60 45
输出
1 3 2
说明
1和3的身高体重都相同,需要按照原有位置关系让1排在3前面,而不是3 1 2。
java
import java.util.Scanner; import java.util.Vector; import java.util.Collections; public class Main { public static void main(String[] args) { // 定义变量 int n; Vector<Integer> heights = new Vector<Integer>(); Vector<Integer> weights = new Vector<Integer>(); // 输入人数 Scanner scanner = new Scanner(Syste
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
机试E卷D卷刷题日记 文章被收录于专栏
机试刷题记录