给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。
请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。
你可以假设 nums1 和 nums2 不会同时为空。
示例1:
nums1 = [1, 3]
nums2 = [2]
则中位数是 2.0
示例二:
nums1 = [1, 2]
nums2 = [3, 4]
则中位数是 (2 + 3)/2 = 2.5
/*** @param {number[]} nums1* @param {number[]} nums2* @return {number}*/
var findMedianSortedArrays = function(nums1, nums2) {};
这道题也挺简单的,就是先合并数组,然后排序,最后寻找中位数。
var findMedianSortedArrays = function(nums1, nums2) {nums1.push(...nums2)nums1.sort(sort)console.log(nums1)if(nums1.length%2 === 1){return nums1[Math.floor(nums1.length/2)]}else{let num2 = nums1[nums1.length/2]let num1 = nums1[nums1.length/2-1]return (num1+num2)/2}function sort(a,b){if(a>b) return 1;return -1}
};
耗时:136ms
内存: 33.9mb
本文发布于:2024-01-30 23:43:09,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170662939223689.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |