【华为OJ】【003-明明的随机数】

本文介绍了一道华为在线评测系统的编程题,任务是对输入的一系列随机整数进行去重和排序。通过Java实现,利用TreeSet集合确保了数字唯一且自动排序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【华为OJ】【算法总篇章】


【华为OJ】【003-明明的随机数】

【工程下载】


题目描述

明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤100),
然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。
Input Param 
n               输入随机数的个数     
inputArray      n个随机整数组成的数组 

Return Value
OutputArray    输出处理后的随机整数

注:测试用例保证输入参数的正确性,答题者无需验证。

输入描述

输入多行,先输入随机整数的个数,在输入相应个数的整数

输出描述

返回多行,处理后的结果

输入例子

11
10
20
40
32
67
40
20
89
300
400
15

输出例子

10
15
20
32
40
67
89
300
400

算法实现

也可以使用数组的方式进行实现

import java.util.Scanner;
import java.util.Set;
import java.util.TreeSet;

/**
 * Author: 王俊超
 * Date: 2015-12-19 09:30
 * Declaration: All Rights Reserved !!!
 */
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()) {
            // 读取输入的数字数
            int num = scanner.nextInt();
            // 存放输入的数字
            Set<Integer> set = new TreeSet<>();
            while ((--num) >= 0) {
                set.add(scanner.nextInt());
            }

            System.out.print(setToString(set));
        }
    }

    private static String setToString(Set<Integer> set) {
        StringBuilder builder = new StringBuilder(128);
        for (Integer i : set) {
            builder.append(i).append("\n");
        }

        return builder.toString();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值