美文网首页
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