问题描述:
给定两个大小为m和n的正序(从小到大)数组nums1和nums2。
请你找出这两个正序数组的中位数,并且要求算法的时间度复杂度为O(log(m+n))
你可以假设nums1和nums2不会同时为空。
- 示例1:
nums1 = [1,3]
nums2 = [2]
则中位数为2.0
- 示例2:
nums1 = [1,2]
nums2 = [3,4]
则中位数为(2+3)/2 = 2.5
解法一:
简单粗暴,将两个数组合并,两个有序数组的合并也是归并排序的一部分,然后根据奇数还是偶数,返回中位数。
class Solution {
public double findMedianSortedArrays(int[] nums1, int[] nums2) {
//简单粗暴的方法,将两个有序数组合并,再求中位数
int len_nums1 =nums1.length;
int len_nums