- 博客(1)
- 收藏
- 关注
原创 两有序数组两两之和的最小k个值, 最小堆解法之完整版
原题: 给定两有序数组,长度都是n,在总共n^2个两两之和中,找到最小的k个值。 题目不新鲜,出现了也有很多年了,不过在目前的面试中还有使用。较好的方法显然是用最小堆,时间复杂度降到 O(klgk)不过网上大略搜了一下,没有找到完整实现,甚至连关键点都没提到,我就这里算是个补充吧。 用最小堆,元素是 A[i] + B[j]. 每次弹出堆顶,然后插入新元素,维护最小堆。这里的关键在于每次插入哪些
2013-11-26 23:43:42 1593 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人