j*****y 发帖数: 1071 | 1 vector getMin(int num, vector > &v)
其中 v里面的每个 array 是 sorted的, 需要返回 v 中 最小的 num 个数
用 min heap 就可以了吧.
比如 v 的 size 是 10, num 是 5, 建一个 size 是 10的 min heap,
类似于 k-way merge, 但是只用 extract 5 次 minimum 就可以了吧
有什么更好的方法吗? 比如 v的 size 会很大 | l*****a 发帖数: 14598 | 2 对自己要有信心
你认为还有可能有什么更好的算法?
【在 j*****y 的大作中提到】 : vector getMin(int num, vector > &v) : 其中 v里面的每个 array 是 sorted的, 需要返回 v 中 最小的 num 个数 : 用 min heap 就可以了吧. : 比如 v 的 size 是 10, num 是 5, 建一个 size 是 10的 min heap, : 类似于 k-way merge, 但是只用 extract 5 次 minimum 就可以了吧 : 有什么更好的方法吗? 比如 v的 size 会很大
|
|