373. Find K Pairs with Smallest Sums

class Solution(object):
    def kSmallestPairs(self, nums1, nums2, k):
        """
        :type nums1: List[int]
        :type nums2: List[int]
        :type k: int
        :rtype: List[List[int]]
        """
        res=[]
        pq=[]
        def push(i,j):
            if i<len(nums1) and j<len(nums2):
                heapq.heappush(pq,[nums1[i]+nums2[j],i,j])
        push(0,0)
        while pq and len(res)<k:
            
            _,i,j=heapq.heappop(pq)
            res.append([nums1[i],nums2[j]])
            push(i,j+1)
            if j==0:
                push(i+1,0)
            
        return res
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容