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

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;
  }
}

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

leetcode题 寻找两个有序数组的中位数

中位数: 给定一个未排序的整数数组,找到其中位数。

LeetCode 第4题 寻找有序数组的中位数

两个有序数组的中位数(第k大的数)

找两个有序数组的中位数的几种方式

算法作业!!求两个不等长有序数组的中位数!