1 class Solution: 2 def kSmallestPairs(self, nums1, nums2, k): 3 queue = [] 4 def push(i, j): 5 if i < len(nums1) and j < len(nums2): 6 heapq.heappush(queue, [nums1[i] + nums2[j], i, j]) 7 push(0, 0) 8 pairs = [] 9 while queue and len(pairs) < k: 10 _, i, j = heapq.heappop(queue) 11 pairs.append([nums1[i], nums2[j]]) 12 push(i, j + 1) 13 if j == 0: 14 push(i + 1, 0) 15 return pairs
这篇题解写的非常细致,给作者点赞。