LeetCode 4. Median of two sorted arrays

求两个数组组成的数组的中位数。要求复杂度O(log(M+N)).

思路:这个复杂度肯定要用二分,关键是怎么分。

将两个数组分别分成左右两部分。
The Left Part   A0, A1, A2, ...Ai-1  |  Ai, Ai+1, ... AN   The Right Part
The Left Part   B0, B1, B2, ...Bj-1  |  Bj, Bj+1, ... BM   The Right Part

 二分(递归)的终点是: ①左右两部分的元素数目相同 && ②Ai-1<=Bj && ③Ai-1<=Bj 因为AB有序,②③可以合并为 Max(The Left Part)<=Min(The Right Part)

此时如果 M+N 是奇数,return

  

猜你喜欢

转载自www.cnblogs.com/travelller/p/9155264.html