LeetCode 373 Find K Pairs with Smallest Sums

LeetCode 373 Find K Pairs with Smallest Sums Problem

Download Code
class Solution(object):
    def kSmallestPairs(self, nums1, nums2, k):
        """
        :type nums1: List[int]
        :type nums2: List[int]
        :type k: int
        :rtype: List[List[int]]
        """
        # https://discuss.leetcode.com/topic/50450/slow-1-liner-to-fast-solutions
        queue = []
        def push(i, j):
            if i < len(nums1) and j < len(nums2):
                heapq.heappush(queue, [nums1[i] + nums2[j], i, j])
        push(0, 0)
        pairs = []
        while queue and len(pairs) < k:
            _, i, j = heapq.heappop(queue)
            pairs.append([nums1[i], nums2[j]])
            push(i, j + 1)
            if j == 0:
                push(i + 1, 0)
        return pairs
Download Find K Pairs with Smallest Sums.py

List of all Find K Pairs with Smallest Sums problems

Leetcode 373 Find K Pairs with Smallest Sums problem solution in python3 with explanation. This is the best place to expand your knowledge and get prepared for your next interview.

Feedback is the most important part of any website.

If you have any query, suggestion or feedback, Please feel free to contact us.