Python寻找两个有序数组的中位数
审题:
1.找出意味着这是一个查找算法题
2.算法复杂度log级别,就是提示你是二分查找
3.二分查找实现一般为递归
(1)递归包括递归体
(2)终止条件
思路:
定理:
1.有序数组中有一半的元素小于等于数组的中位数,有一半的元素大于等于中位数(如果数组中元素个数是奇数,那么这里的一半并不是严格意义的1/2)
2.如果我们去掉其中一个数组比中位数小的k个数,再去掉另一个数组中比中位数大的k个数,得到的合并子数组的中位数和原来的中位数相同。
eg:[1,2,3],[1,2,3] => [1,1,2,2,3,3]
根据定理去除元素[2,3],[1