【真题】京东2017校招编程题 集合
题目
给你两个集合,要求{A} + {B}。 注:同一个集合中不会有两个相同的元素。
输入描述:
每组输入数据分为三行,第一行有两个数字n,m(0 ≤ n,m ≤ 10000),分别表示集合A和集合B的元素个数。后两行分别表示集合A和集合B。每个元素为不超过int范围的整数,每个元素之间有个空格隔开。
输出描述:
针对每组数据输出一行数据,表示合并后的集合,要求从小到大输出,每个元素之间有一个空格隔开,行末无空格。
示例1
输入
3 3
1 3 5
2 4 6
输出
1 2 3 4 5 6
思路
可以把输入看作是一个Set集合,利用List或者数组对集合中的元素排序。
AC
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int m = sc.nextInt();
int n = sc.nextInt();
Set<Integer> set = new HashSet<>();
for (int i = 0; i < m + n; i ++){
set.add(sc.nextInt());
}
List<Integer> list = new ArrayList<>(set);
Collections.sort(list);
for(int i = 0; i < list.size(); i ++)
if (i == list.size() - 1)
System.out.print(list.get(i));
else
System.out.print(list.get(i) + " ");
}
}