leetCode第四题

237 阅读1分钟

题目:寻找两个正序数组的中位数 算法的时间复杂度应该为 O(log (m+n))

这题的难度应该在于如何让这个算法的复杂度在O(log (m+n))


/**
 * @param {number[]} nums1
 * @param {number[]} nums2
 * @return {number}
 */
var findMedianSortedArrays = function(nums1, nums2) {
    const newArray = [...nums1, ...nums2].sort((a, b) => {
    return a - b
    })
    if (newArray.length === 0) return ''
    let num = 0;
    // 长度为单数
    if (newArray.length % 2 === 1) {
        num = newArray[Math.floor(newArray.length / 2)]
    } else {
        num = (newArray[newArray.length / 2] + newArray[newArray.length / 2 - 1]) / 2;
    }

    return num.toFixed(5)
};