4、leetcode-寻找两个正序数组的中位数(TypeScript实现)

136 阅读1分钟

题目

给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。

思路

合并两个代码后从小到大排序,数组总数是奇数取nums[n/2],是偶数则取(nums[n/2] + nums[n/2-1]) / 2

function findMedianSortedArrays(nums1: number[], nums2: number[]): number {
    let n = nums1.length + nums2.length;
    let nums = nums1.concat(nums2).sort((a, b) => a - b);
    let result = n % 2 == 0
        ? (nums[n/2] + nums[n/2-1]) / 2
        : nums[Math.floor(n/2)];
    return result;
};