🟡 剑指 Offer II 061. 和最小的 k 个数对
LeetCode 提示
题目难度 中等
原题链接 🔗 leetcode
#
题解1优先队列是真的好用
class Solution { public List<List<Integer>> kSmallestPairs(int[] nums1, int[] nums2, int k) { var pq = new PriorityQueue<int[]>((x, y) -> { return x[0] - y[0]; });
for (int n1 : nums1) { for (int n2 : nums2) { pq.offer(new int[]{n1+n2, n1, n2}); } }
var res = new ArrayList<List<Integer>>();
for (int i=0; i<k; i+=1) { int[] cur = pq.poll(); if (cur == null) { break; } res.add(Arrays.asList(cur[1], cur[2])); }
return res; }}