1. 程式人生 > 其它 >華為機試:明明的隨機數

華為機試:明明的隨機數

描述

明明想在學校中請一些同學一起做一項問卷調查,為了實驗的客觀性,他先用計算機生成了N個1到1000之間的隨機整數(N≤1000),對於其中重複的數字,只保留一個,把其餘相同的數去掉,不同的數對應著不同的學生的學號。然後再把這些數從小到大排序,按照排好的順序去找同學做調查。請你協助明明完成“去重”與“排序”的工作(同一個測試用例裡可能會有多組資料(用於不同的調查),希望大家能正確處理)。


注:測試用例保證輸入引數的正確性,答題者無需驗證。測試用例不止一組。

當沒有新的輸入時,說明輸入結束。

輸入描述:

注意:輸入可能有多組資料(用於不同的調查)。每組資料都包括多行,第一行先輸入隨機整數的個數N,接下來的N行再輸入相應個數的整數。具體格式請看下面的"示例"。

輸出描述:

返回多行,處理後的結果

示例

輸入:

3
2
2
1
11
10
20
40
32
67
40
20
89
300
400
15

輸出:

1
2
10
15
20
32
40
67
89
300
400

說明:

輸入解釋:
第一個數字是3,也即這個小樣例的N=3,說明用計算機生成了3個1到1000之間的隨機整數,接下來每行一個隨機數字,共3行,也即這3個隨機數字為:
2
1
1
所以第一個小樣例的輸出為:
1
2
第二個小樣例的第一個數字為11,也即...(類似上面的解釋)...
所以第二個小樣例的輸出為:
10
15
20
32
40
67
89
300
400
所以示例1包含了兩個小樣例!!  

我的程式碼

package
huawei_jishi; import java.util.Scanner; /** * author:沒拉鍊的布加拉提 */ public class SortRandom { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int[] a = new int[1001]; int n = 0; while (sc.hasNext()) { n = sc.nextInt();
for (int i = 0; i < n; i++) { a[sc.nextInt()] = 1; } for (int i = 0; i < 1001; i++) { if (a[i] == 1) { a[i] = 0; System.out.println(i); } } } sc.close(); } }