题解 | #整型数组合并#
整型数组合并
https://www.nowcoder.com/practice/c4f11ea2c886429faf91decfaf6a310b
const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;
void (async function () {
// Write your code here
while ((line = await readline())) {
let n1 = parseInt(line);
line = await readline();
let arr1 = line
.split(" ")
.map((v) => parseInt(v))
.sort((a, b) => {
return a - b;
});
line = await readline();
let n2 = parseInt(line);
line = await readline();
let arr2 = line
.split(" ")
.map((v) => parseInt(v))
.sort((a, b) => {
return a - b;
});
arr1.forEach((v, i, a) => {
if(v === a[i+1]){
a.splice(i, 1);
}
});
arr2.forEach((v, i, a) => {
if(v === a[i+1]){
a.splice(i, 1);
}
});
let arr = [];
let i = (j = k = 0);
while (i < arr1.length && j < arr2.length) {
if (arr1[i] < arr2[j]) {
arr[k++] = arr1[i++];
} else if (arr1[i] > arr2[j]) {
arr[k++] = arr2[j++];
} else {
//相等
arr[k++] = arr1[i++];
j++;
}
}
if (i === arr1.length) {
while (j < arr2.length) {
arr[k++] = arr2[j++];
}
}
if (j === arr2.length) {
while (i < arr1.length) {
arr[k++] = arr1[i++];
}
}
console.log(arr.join(""));
}
})();
