Find K Pairs with Smallest Sums LeetCode solution in Python
1# Runtime: 1647 ms (Top 67.28%) | Memory: 34.4 MB (Top 27.52%)2import heapq345class Solution:6def kSmallestPairs(7self, nums1: List[int], nums2: List[int], k: int8) -> List[List[int]]:910ans = []1112heapq.heapify(ans)1314for i in range(min(k, len(nums1))):15for j in range(min(k, len(nums2))):16pairs = [nums1[i], nums2[j]]17if len(ans) < k:18heapq.heappush(ans, [-(nums1[i] + nums2[j]), pairs])19else:20if nums1[i] + nums2[j] > -ans[0][0]:21break22heapq.heappush(ans, [-(nums1[i] + nums2[j]), pairs])23heapq.heappop(ans)2425res = []26for i in range(len(ans)):27res.append(ans[i][1])2829return res