我在相关主题上看到了很多 SO 主题,但没有一个提供有效的方法。
我想k-th在二维数组中找到最小的元素(或中位数),[1..M][1..N]其中每一行都按升序排序并且所有元素都是不同的。
我认为有O(M log MN)解决方案,但我不知道实施。(中位数的中位数或使用具有线性复杂性的分区是一些方法,但不再知道......)。
这是一个旧的谷歌面试问题,可以在这里搜索。
但现在我想提示或描述最有效的算法(最快的算法)。
我也在这里读过一篇论文,但我不明白。
更新 1:此处找到了一种解决方案,但当维度为奇数时。