#600. 并集与交集
并集与交集
题目背景
高一年级的小舞同学刚刚学习了并集和交集的概念。为了让小舞同学的知识记得更牢固,妈妈让小舞讲给刚上初四的弟弟小空:
1.由集合A和集合B中的所有公共元素构成的集合C,称为集合A与集合B的交集,记作,即.
2.由集合A和集合B中的所有元素构成的集合C,称为集合A与集合B的并集,记作,即 小空是个天才编程家,他把姐姐讲的知识和刚刚学到编程知识——数组结合起来,给她姐姐出了这么一道题,你能帮下小舞吗?
题目描述
(1)数组的并集:给定两个数组A,B,把他们所有的元素合并在一起,并按照从小到大排序组成的集合,叫做数组A与数组B的并集;比如:数组{1, 2, 3} 和 {2, 3, 4} 的并集是 {1, 2, 3, 4}。
(2)数组的交集:给定两个数组A,B,由所有属于数组A且属于数组B的元素,并按照从小到大排序组成的集合,所组成的集合,叫做集合A与集合B的交集;比如:数组 {1,2,3} 和 {2,3,4} 的交集为 {2,3}。
现给定2个数组,每个数组都含有若干元素,请分别求出两个数组的并集和交集(并集和交集内的数据不允许重复)。
输入格式
第一行有两个整数m和n,分别代表A,B两个数组的长度
第二行有m个整数,代表A数组存储的整数,用空格隔开
第三行有n个整数,代表B数组存储的整数,用空格隔开
注:两个集合的数都是大于等于0且小于10000的整数。
输出格式
第一行输出两个数组的并集,用空格隔开这些元素
第二行输出两个数组的交集,用空格隔开这些元素,若交集为空,那么输出“NONE”
样例
样例输入 #1
3 4
2 1 3
5 4 3 2
样例输出 #2
1 2 3 4 5
2 3
样例输入 #2
3 4
1 2 3
5 6 7 8
样例输出 #2
1 2 3 5 6 7 8
NONE
提示
- 性质1:保证两个输入数组都是有序的。
- 性质2:保证两个输入数组的交集为空。
- 性质3:保证其中一个数组的最大值一定小于另外一个数组的最小值。
- 性质4:保证两个输入数组内部分别无重复数据。
- 对于10% 的数据,一定同时满足性质1、2、3、4;
- 对于40%的数据,一定同时满足性质1、2、4;
- 对于80%的数据,一定满足性质4;
- 对于100%的数据,。