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

参考:https://leetcode-cn.com/problems/find-k-pairs-with-smallest-sums/solution/pyhont3yi-xing-jie-fa-dao-gao-xiao-jie-fa-by-ml-zi/

这篇题解写的非常细致,给作者点赞。

posted on 2020-04-09 10:30  Sempron2800+  阅读(225)  评论(0编辑  收藏  举报