Advertisement
serega1112

373 - heap

Dec 21st, 2020
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.53 KB | None | 0 0
  1. class Solution:
  2.     def kSmallestPairs(self, nums1: List[int], nums2: List[int], k: int) -> List[List[int]]:
  3.         if not (nums1 and nums2):
  4.             return []
  5.         h = [(nums1[i] + nums2[0], i, 0) for i in range(len(nums1))]
  6.         heapq.heapify(h)
  7.         res = []
  8.         while k and h:
  9.             val, i, j = heapq.heappop(h)
  10.             res.append([nums1[i], nums2[j]])
  11.             if j + 1 < len(nums2):
  12.                 heapq.heappush(h, (nums1[i] + nums2[j+1], i, j+1))
  13.             k -= 1  
  14.         return res
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement