首页 > 试题广场 >

集合

[编程题]集合
  • 热度指数:30491 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
给你两个集合,要求{A} + {B}。 注:同一个集合中不会有两个相同的元素。

输出时按数字升序输出。

数据范围: ,集合中的元素满足

输入描述:
每组输入数据分为三行,第一行有两个数字n,m,分别表示集合A和集合B的元素个数。后两行分别表示集合A和集合B。每个元素为不超过int范围的整数,每个元素之间有个空格隔开。


输出描述:
针对每组数据输出一行数据,表示合并后的集合,要求从小到大输出,每个元素之间有一个空格隔开,行末无空格。
示例1

输入

3 3
1 3 5
2 4 6

输出

1 2 3 4 5 6
示例2

输入

2 2
1 2
1 2

输出

1 2
function modSort (n,m,arrA,arrB){
    let total = arrA.concat(arrB);
    let newArr = Array.from(new Set(total));
    newArr.sort((a,b) => {return a>b?1:-1});
    return newArr.join(' ');
}

ES6很好使啊。
编辑于 2017-09-22 14:07:10 回复(0)
var arr = readline().split(' ');
var strA = readline();
var strB = readline();
var res = (strA + ' ' + strB).split(' ');
res.sort((a, b) => (a - b));
// 集合中无重复元素(去重)
var obj = {};
var r = [];
for(var i=0;i<res.length;i++) {
    if(!obj[res[i]]) {
        r.push(res[i]);
        obj[res[i]] = 1;
    }
}
print(r.join(' '));

发表于 2017-09-07 21:09:21 回复(0)