File tree Expand file tree Collapse file tree 2 files changed +28
-0
lines changed
find-k-pairs-with-smallest-sums Expand file tree Collapse file tree 2 files changed +28
-0
lines changed Original file line number Diff line number Diff line change @@ -10,6 +10,8 @@ leetcode 测试
10
10
11
11
##### 包含的内容如下
12
12
13
+ https://leetcode.cn/problems/find-k-pairs-with-smallest-sums
14
+
13
15
https://leetcode.cn/problems/compare-version-numbers
14
16
15
17
https://leetcode.cn/problems/t9-lcci/
Original file line number Diff line number Diff line change
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" ;
You can’t perform that action at this time.
0 commit comments