美文网首页
373. Find K Pairs with Smallest

373. Find K Pairs with Smallest

作者: 阿团相信梦想都能实现 | 来源:发表于2016-12-17 11:27 被阅读0次
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

相关文章

网友评论

      本文标题:373. Find K Pairs with Smallest

      本文链接:https://www.haomeiwen.com/subject/lkvomttx.html