求最小一般用二分,求前最小一般用堆
偶尔看到一个问题,搜索了一些解法,用来存着
1.X[1..n] 和 Y[1..n]为两个数组,每个都包含n个已排好序的数。给出一个求数组X和Y中所有2n个元素的中位数的O(lgn)时间的算法
参考 :http://blog.csdn.net/zhanglei8893/article/details/6314002
分析与解答:
若中位数位于X中,不妨设为X[k],即在X中有k个元素小于等于中位数,n-k个元素大于等于中位数。由于X[k]为合并后的2n个元素的中位数,则在Y中有n-k个元素小于等于中位数,k个元素大于等于中位数,即
Y[n-k] ≤ X[K] ≤ Y[n-k+1]</