美文网首页
2022-12-08 1605

2022-12-08 1605

作者: 木马音响积木 | 来源:发表于2022-12-07 15:47 被阅读0次

1605 理解 m+n 比 mn 快很多

'''class Solution:
    def restoreMatrix(self, rowSum: List[int], colSum: List[int]) -> List[List[int]]:
        row,col = len(rowSum),len(colSum)
        res = [[0]*col for _ in range(row)]
        for i in range(row):
            for j in range(col):
                a=res[i][j] = rowSum[i] if rowSum[i] <= colSum[j] else colSum[j]
                rowSum[i] -= a
                colSum[j] -= a
        return res
#作者:int_64

#  这是最快的,,,,m+n 
class Solution:
    def restoreMatrix(self, rowSum: List[int], colSum: List[int]) -> List[List[int]]:
        m, n = len(rowSum), len(colSum)
        res = [[0] * n for _ in range(m)]
        i, j = 0, 0
        while i < m and j < n:            
            if rowSum[i] <= colSum[j]:
                res[i][j] = rowSum[i]
                colSum[j] -= rowSum[i]
                i += 1
            else:
                res[i][j] = colSum[j]
                rowSum[i] -= colSum[j]
                j += 1      
        return res

'''
class Solution:
    def restoreMatrix(self, rowSum: List[int], colSum: List[int]) -> List[List[int]]:
        m = len(rowSum)
        n = len(colSum)
        result = [[0] * n for _ in range(m)]
        for i in range(m):
            if rowSum[i] == 0:
                continue

            for j in range(n):
                if colSum[j] == 0:
                    continue
                x = min(rowSum[i],colSum[j])
                result[i][j] = x
                rowSum[i] -= x
                colSum[j] -= x       
        return result            

相关文章

网友评论

      本文标题:2022-12-08 1605

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