Find Median of Two sorted Array [难]

这道题其实可以抽象成为Find Kth Number problem between two sorted array.

Find Median of Two sorted Array [难]_第1张图片

太多小细节要注意了, 如果不能用编译器的情况下非常容易出错。

s1 >= nums1.length 为什么要有大于号? 因为假如 array = []

s1 初始值=0.   这个时候应该直接return nums2[..]了,但是如果条件是if s1>nums1.length

他就不会进入这个return statement.  这个细节感觉必须得写出很多test case自己发现才可以。

Find Median of Two sorted Array [难]_第2张图片


还有一个很坑爹的细节就是: 如果mid1 == mid2的情况, 我们怎么处理?

其实只要把array1 从start到mid1 的先当做要找的K的k/2部分,然后从array1的mid+1 to end

和array2 里再去找另外的k/2 就好。


最后最最坑爹的细节是k- k/2. 这个如果只看total 为偶数的two arrays, 是发现不了这个case的。必须得考虑到奇数的case才有可能发现。。。所以还是很变态的这题。

你可能感兴趣的:(Find Median of Two sorted Array [难])