例题

力扣1605:

解析

构造空矩阵,然后依次遍历矩阵元素,在(i,j)位置处选择rowSum[i]和colSum[j]中较小的值x填入,之后rowSum[i]和colSum[j]都减去x,继续遍历其他位置。

代码

class Solution:
    def restoreMatrix(self, rowSum: List[int], colSum: List[int]) -> List[List[int]]:
        m, n = len(rowSum), len(colSum)
        ans = [[0] * n for _ in range(m)]
        for i in range(m):
            for j in range(n):
                x = min(rowSum[i], colSum[j])
                ans[i][j] = x
                rowSum[i] -= x
                colSum[j] -= x
        return ans