【问题描述】从标准输入中输入两组整数(每行不超过20个整数,每组整数中元素不重复),合并两组整数,每个整数只出现一次(重复整数只保留一个),并从小到大排序输出(即两组整数集“或”)。
【输入形式】首先输入第一组整数的个数,再输入第一组整数,整数间以空格分隔;然后输入第二组整数的个数,再输入第二组整数,整数间以空格分隔。
【输出形式】按从小到大顺序排序输出合并后的整数,并不含重复整数。
【样例输入】
8
5 1 4 3 8 7 9 6
4
5 2 8 10
【样例输出】1 2 3 4 5 6 7 8 9 10
【样例说明】第一组整数个数为8,分别为5 1 4 3 8 7 9 6,第二组整数个数为4,分别为5 2 8 10。将第一组和第二组整数合并(不含重复整数),并从小到大顺序排序后结果为1 2 3 4 5 6 7 8 9 10。
【评分标准】结果完全正确得20分,每个测试点4分。
有关这题怎么做啊?求助各路大神
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
FengXM_ 2020-10-28 16:54关注var str = prompt('请输入第一组数组长度'); var vals = prompt('请输入第一组数字,以逗号隔开'); var numList = new Array() numList = vals.split(','); function formatArr(numList, str) { let len = numList.length; if (str <= numList.length) { return numList.slice(0, str); } return numList.concat(new Array(str - len).fill(0)); } var str2 = prompt('请输入第二组数组长度'); var vals2 = prompt('请输入第二组数字,以逗号隔开'); var numList2 = new Array() numList2 = vals2.split(','); function formatArr2(numList2, str2) { let len2 = numList2.length; if (str2 <= numList2.length) { return numList2.slice(0, str2); } return numList2.concat(new Array(str2 - len2).fill(0)); } var arr = formatArr(numList, str) var arr2 = formatArr2(numList2, str2) arr = arr.concat(arr2) arr.sort((a, b) => { return a - b }) var newarr = arr.filter((item, index, arr) => { return arr.indexOf(item) === index }) console.log(newarr)解决 无用评论 打赏 举报