题解 | #整型数组合并#

整型数组合并

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(""));
  }
})();

全部评论

相关推荐

在写周报的打工人很独...:这个笔试昨天晚上做了一下,真难啊,前后端,ai全有
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务