题目描述
给你 N 个数(n<=100), 每个数都在(0~1000)之间,其中由很多重复的数字,请将重复的数字只保留一个,并将剩下的数由小到大排序并输出。
输入
输入有 2 行,
第 1 行为 1 个正整数,表示数的个数: N
第 2 行有 N 个用空格隔开的整数。
第 1 行为 1 个正整数,表示数的个数: N
第 2 行有 N 个用空格隔开的整数。
输出
第 1 行为 1 个正整数 M,表示不相同数的个数。
接下来的 M 行,每行一个整数,表示从小到大排好序的不相同的数。
接下来的 M 行,每行一个整数,表示从小到大排好序的不相同的数。
样例输入 [复制]
10
20 40 32 67 40 20 89 300 400 15
样例输出 [复制]
8
15
20
32
40
67
89
300
400
AC 代码:
- import java.util.Iterator;
- import java.util.Scanner;
- import java.util.TreeSet;
- public class Main {
- public static void main(String[] args) {
- Scanner sc = new Scanner(System. in );
- int n = sc.nextInt();
- TreeSet < Integer > nums = new TreeSet();
- int count = 0;
- for (int i = 0; i < n; i++) {
- nums.add(sc.nextInt());
- count++;
- }
- System.out.println(nums.size());
- Iterator iterator = nums.iterator();
- while (iterator.hasNext()) {
- System.out.println(iterator.next());
- }
- }
- }