2. 暴力解法: O((m+n)/2) 每次取A和B头部最小的一个数,直到取到第 L/2 + 1 个数(当L为奇数时)。
3. 【3】求两个等长、有序数组的中位数(二分法)
1. 数组长度为len,数据个数2\*len,中位数为第len、len+1大的数。
2. 暴力法:排好序后找。
3. 二分法:忘了,直接查答案吧。
4. [【4】求两个不等长、有序数组a和b的中位数](https://leetcode.com/problems/median-of-two-sorted-arrays/)(排除法 )
1. 最优解 O(log (m+n)) 。中位数为第k小数。限定数组为升序。 如果a[k/2] == b[k/2], 那么中位数是a[k/2]或者a[k/2]比中位数小,a、b的前k/2的数都要排除, 更新 k = k - k/2 -k/2;如果a[k/2] < b[k/2], 那么a[k/2]最多只可能是第 (k/2)+ (k/2 - 1)= k -1 小的数,所以a的前k/2个数都可以删除, 更新 k = k - k/2 。 且 b[] a的前k/2个数中一定不包含第k大数,否则不断删除个 k/2个数,然后 k = k/2。
2. 详细讲解.[求两个不等长、有序数组a和b的中位数的最优解(排除法 )](https://mp.csdn.net/postedit/81607625)