题目描述
给你两个集合,要求 {A} + {B}。
注:同一个集合中不会有两个相同的元素。
输入
多组(不超过 5 组)数据。
每组输入数据分为三行,第一行有两个数字 n,m($0<n,m\leq10000$),分别表示集合 A 和集合 B 的元素个数。后两行分别表示集合 A 和集合 B。每个元素为不超出 int 范围的整数,每个元素之间有一个空格隔开。
输出
针对每组数据输出一行数据,表示合并后的集合,要求从小到大输出,每个元素之间有一个空格隔开。
示例
输入
1 2
1
2 3
1 2
1
1 2
输出
1 2 3
1 2
解题代码
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 
 | import java.util.*;
 public class Main {
 public static void main(String[] args) {
 Scanner sc = new Scanner(System.in);
 List<String> ans = new ArrayList<String>();
 while (sc.hasNext()) {
 int n = sc.nextInt();
 int m = sc.nextInt();
 int[] merge = new int[n+m];
 for (int i = 0; i < n+m; i++) {
 merge[i] = sc.nextInt();
 }
 Arrays.sort(merge);
 int pre = 0;
 StringBuffer sb = new StringBuffer();
 for (int i = 0; i < n+m; i++) {
 if (merge[i] != pre) {
 sb.append(merge[i] + " ");
 pre = merge[i];
 }
 }
 ans.add(sb.toString().trim());
 }
 for (String line : ans) {
 System.out.println(line);
 }
 }
 }
 
 |