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

【华为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();
    }
}

你可能感兴趣的:(java,算法,计算机,华为)