中位数:统计学中的专有名词,代表一个样本、种群或概率分布中的一个数值,其可将数值集合划分为相等的上下两部分。对于有限的数集,可以通过把所有观察值高低排序后找出正中间的一个作为中位数。如果观察值有偶数个,通常取最中间的两个数值的平均数作为中位数。
要在两个正序数组中找中位数,首先把两个正序数组组合为一个数组,然后进行排序。
这里面有两种情况:
- 如果数组长度为奇数,则中位数取正中间的数字:
arrays[Math.floor(arrays.length / 2)]
; - 如果数组长度为偶数,那么取中间两位的平均数作为中位数:
(arrays[arrays.length / 2 - 1] + arrays[arrays.length / 2]) / 2
。
完整代码如下:
function findMedianSortedArrays(nums1, nums2) {const nums = [...nums1, ...nums2].sort((a, b) => a - b);const len = nums.length;const isEven = len % 2 === 0;if (isEven) {return (nums[len / 2 - 1] + nums[len / 2]) / 2;} else {return nums[Math.floor(len / 2)];}
}
今天就先这样的了!