获取两个有序数组的中位数

Posted PatWu16

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取两个有序数组的中位数相关的知识,希望对你有一定的参考价值。

传入两个有序数组,并返回中位数

function getAllMid(arr1, arr2) {
  const result = [];
  let p1 = arr1.length - 1;
  let p2 = arr2.length - 1;

  while (p1 >= 0 && p2 >= 0) {
    arr1[p1] > arr2[p2] ? result.push(arr1[p1--]) : result.push(arr2[p2--]);
  }
  while (p1 >= 0) {
    result.push(arr1[p1--]);
  }
  while (p2 >= 0) {
    result.push(arr1[p2--]);
  }
  const p = result.length;
  if (p % 2) {
    return result[(p - 1) / 2];
  } else {
    return (result[p / 2 - 1] + result[p / 2]) / 2;
  }
}

以上是关于获取两个有序数组的中位数的主要内容,如果未能解决你的问题,请参考以下文章