一、题目描述
明明生成了NN个1到500之间的随机整数。请你删去其中重复的数字,即相同的数字只保留一个,把其余相同的数去掉,然后再把这些数从小到大排序,按照排好的顺序输出。
数据范围: 1≤n≤1000
,输入的数字大小满足 1≤val≤500
二、输入描述
第一行先输入随机整数的个数 N 。 接下来的 N 行每行输入一个整数,代表明明生成的随机数。
三、输出描述
输出多行,表示输入数据处理后的结果。
四、解题思路
- 读取输入的整数 N,表示随机整数的个数;
- 使用 TreeSet 数据结构来存储随机整数,TreeSet 会自动按照升序排序,并且会自动去重;
- 循环读取 N 个随机整数,将其添加到 TreeSet 中;
- 使用迭代器遍历 TreeSet,按照顺序输出每个数字。
五、Java算法源码
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
TreeSet set = new TreeSet();
for(int i =0 ; i < num ;i++){
set.add(sc.nextInt());
}
Iterator iterator = set.iterator();
while (iterator.hasNext()){
System.out.println(iterator.next());
}
}
六、效果展示
🏆下一篇:华为OD机试真题 Java 实现【跳房子II】【2023 B卷 100分】,附详细解题思路
🏆本文收录于,华为OD机试(JAVA)(2022&2023)
本专栏包含了最新最全的2023年华为OD机试真题,有详细的分析和Java解答。已帮助1000+同学顺利通过OD机考。专栏会持续更新,每天在线答疑。