这道题其实可以抽象成为Find Kth Number problem between two sorted array.
太多小细节要注意了, 如果不能用编译器的情况下非常容易出错。
s1 >= nums1.length 为什么要有大于号? 因为假如 array = []
s1 初始值=0. 这个时候应该直接return nums2[..]了,但是如果条件是if s1>nums1.length
他就不会进入这个return statement. 这个细节感觉必须得写出很多test case自己发现才可以。
还有一个很坑爹的细节就是: 如果mid1 == mid2的情况, 我们怎么处理?
其实只要把array1 从start到mid1 的先当做要找的K的k/2部分,然后从array1的mid+1 to end
和array2 里再去找另外的k/2 就好。
最后最最坑爹的细节是k- k/2. 这个如果只看total 为偶数的two arrays, 是发现不了这个case的。必须得考虑到奇数的case才有可能发现。。。所以还是很变态的这题。