Skip to content

Commit 4c673eb

Browse files
committed
https://leetcode.cn/problems/find-k-pairs-with-smallest-sums
1 parent 19f756e commit 4c673eb

File tree

2 files changed

+28
-0
lines changed

2 files changed

+28
-0
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ leetcode 测试
1010

1111
##### 包含的内容如下
1212

13+
https://leetcode.cn/problems/find-k-pairs-with-smallest-sums
14+
1315
https://leetcode.cn/problems/compare-version-numbers
1416

1517
https://leetcode.cn/problems/t9-lcci/
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
function kSmallestPairs(
2+
nums1: number[],
3+
nums2: number[],
4+
k: number,
5+
): number[][] {
6+
const res: number[][] = [];
7+
const m = nums1.length, n = nums2.length;
8+
const pq = new Heap<[number, number]>((a, b) =>
9+
nums1[a[0]] + nums2[a[1]] - nums1[b[0]] - nums2[b[1]]
10+
);
11+
for (const i of Array(Math.min(k, m)).keys()) {
12+
pq.push([i, 0]);
13+
}
14+
while (k-- && !pq.isEmpty()) {
15+
const top = pq.pop();
16+
17+
res.push([nums1[top[0]], nums2[top[1]]]);
18+
19+
if (top[1] + 1 < n) {
20+
pq.push([top[0], top[1] + 1]);
21+
}
22+
}
23+
return res;
24+
}
25+
export default kSmallestPairs;
26+
import { Heap } from "https://esm.sh/@datastructures-js/[email protected]/src/heap.js";

0 commit comments

Comments
 (0)