分类标签归档:

堆相关考点


第k大/小

leetcode 373
如果说要枚举所有点对,复杂度至少是O(n^2)起步。
想办法利用非递减顺序排列的性质:想象一个矩阵,纵坐标表示nums1下标,横坐标表示nums2下标,矩阵的值是数对和,这样一个矩阵有什么性质?显然每行都是非递减序列,每列也都是非递减序列,左上角(0, 0)点对和最小。
这样维护一个最小堆,先把第一列入堆,然后开始出堆,出堆元素坐标(i, j),每出堆一个元素对应入堆一个元素,入堆元素坐标有两个选择:(i + 1, j)和(i, j + 1)。由于开始先把第一列入堆,所以取(i + 1, j)位置会导致重复入堆,只加(i, j + 1)即可,注意j +

Read more