1. 程式人生 > >藍橋杯:蒜頭君的隨機數(java)

藍橋杯:蒜頭君的隨機數(java)

package lanqiaobei;

import java.util.*;

/*
練習題:蒜頭君的隨機數
蒜頭君想在學校中請一些同學一起做一項問卷調查,為了確保實驗的客觀性,他先用計算機生成了 n(1≤n≤100)個 1 到 1000 之間的隨機整數,對於其中重複的數字,只保留一個,把其餘相同的數去掉,不同的數對應著不同的學生的學號。然後再把這些數從小到大排序,按照排好的順序去找同學做調查。
請你協助蒜頭君完成“去重”與“排序”的工作。
輸入格式
共兩行,第一行為一個正整數 n。
第二行有 n 個用空格隔開的正整數,為所產生的隨機數。
輸出格式
第一行輸出一個正整數 m,表示不相同的隨機數的個數。第二行輸出 m 個用空格隔開的正整數,為從小到大排好序的不相同的隨機數。
樣例輸入
10
20 40 32 67 40 20 89 300 400 15
樣例輸出
8
15 20 32 40 67 89 300 400
 */
public class SRandom {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        List<Integer> res=new ArrayList<>();
        for (int i = 0; i <n ; i++) {
            int r=sc.nextInt();
            if (res.contains(r))continue;
            res.add(r);
        }
        Collections.sort(res);
        System.out.println(res.size());
        for (int i = 0; i <res.size() ; i++) {
            System.out.print(res.get(i)+" ");
        }
    }
}