deno.land / x / masx200_leetcode_test@10.6.5 / find-k-pairs-with-smallest-sums / index.ts
123456789101112131415161718192021222324252627function kSmallestPairs( nums1: number[], nums2: number[], k: number,): number[][] { const res: number[][] = []; const m = nums1.length, n = nums2.length; const pq = new Heap<[number, number]>((a, b) => nums1[a[0]] + nums2[a[1]] - nums1[b[0]] - nums2[b[1]] ); for (const i of Array(Math.min(k, m)).keys()) { pq.push([i, 0]); } while (k-- && !pq.isEmpty()) { const top = pq.pop();
res.push([nums1[top[0]], nums2[top[1]]]);
if (top[1] + 1 < n) { pq.push([top[0], top[1] + 1]); } } return res;}export default kSmallestPairs;import { Heap } from "https://esm.sh/@datastructures-js/heap@4.1.2/src/heap.js";
Version Info