给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 **示例 1:** ```js 输入:nums1 = [1,3], nums2 = [2] 输出:2.00000 解释:合并数组 = [1,2,3] ,中位数 2 ``` **示例 2:** ```js 输入:nums1 = [1,2], nums2 = [3,4] 输出:2.50000 解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 = 2.5 ``` **示例 3:** ```js 输入:nums1 = [0,0], nums2 = [0,0] 输出:0.00000 ``` **示例 4:** ```js 输入:nums1 = [], nums2 = [1] 输出:1.00000 ``` **示例 5:** ```js 输入:nums1 = [2], nums2 = [] 输出:2.00000 ``` **提示:** - nums1.length == m - nums2.length == n - 0 <= m <= 1000 - 0 <= n <= 1000 - 1 <= m + n <= 2000 - -10<sup>6</sup> <= nums1[i], nums2[i] <= 10<sup>6</sup> **进阶:**你能设计一个时间复杂度为 O(log (m+n)) 的算法解决此问题吗? [leetcode](https://leetcode-cn.com/problems/median-of-two-sorted-arrays)
Activity
xiaoerwen commentedon Mar 24, 2021
思路:比较两个有序数组的最小值与最大值,剔除最大最小值后重新比较
重复此操作,直到剩余1个数,那么该数为中位数
如果剩余2个数,那么中位数为两者和除2
单数组采用二分法
注意:边界值比较多
该题耗时:20ms(击败了99%),内存消耗:41.9M(击败了94%)
Upting commentedon Mar 24, 2021
来个简单点的: