问题提出
#4
Median of Two Sorted Arrays
如何在对数时间复杂度内找出两个有序数组的中位数?
算法
二分递归
设两个有序列表为nums1
和nums2
,要想找到其中位数,思路在于找到一个划分,将nums1
和nums2
都分为两部分:
1 | nums1_left -> nums1[0], nums1[1], ... , nums1[i-1] |
且使得:
1 | M -> nums1_left + nums2_left |
易得,中位数即为Max(M)
或(Max(M)+Min(N))/2
代码
1 |
|
总结
hard难度做不来。。。