5518 給定行和列的和求可行矩陣

2021-10-09 23:26:34 字數 973 閱讀 7271

給你兩個非負整數陣列 rowsum 和 colsum ,其中 rowsum[i] 是二維矩陣中第 i 行元素的和, colsum[j] 是第 j 列元素的和。換言之你不知道矩陣裡的每個元素,但是你知道每一行和每一列的和。

請找到大小為 rowsum.length x colsum.length 的任意 非負整數 矩陣,且該矩陣滿足 rowsum 和 colsum 的要求。

請你返回任意乙個滿足題目要求的二維矩陣,題目保證存在 至少乙個 可行矩陣。

示例 1:

輸入:rowsum = [3,8], colsum = [4,7]

輸出:[[3,0],

[1,7]]

解釋:第 0 行:3 + 0 = 0 == rowsum[0]

第 1 行:1 + 7 = 8 == rowsum[1]

第 0 列:3 + 1 = 4 == colsum[0]

第 1 列:0 + 7 = 7 == colsum[1]

行和列的和都滿足題目要求,且所有矩陣元素都是非負的。

另乙個可行的矩陣為:[[1,2],[3,5]]

1. 貪心思想,具體怎麼貪心觀察測試用例

class solution:

def restorematrix(self, rowsum: list[int], colsum: list[int]) -> list[list[int]]:

mat=[[0]*len(colsum) for _ in range(len(rowsum))]

for i in range(len(rowsum)):

for j in range(len(colsum)):

v=min(rowsum[i],colsum[j])

rowsum[i]-=v

colsum[j]-=v

mat[i][j]=v

return mat

1605 給定行和列的和求可行矩陣

題目描述 給你兩個非負整數陣列 rowsum 和 colsum 其中 rowsum i 是二維矩陣中第 i 行元素的和,colsum j 是第 j 列元素的和。換言之你不知道矩陣裡的每個元素,但是你知道每一行和每一列的和。請找到大小為 rowsum.length x colsum.length 的任...

1605 給定行和列的和求可行矩陣

題目描述 給你兩個非負整數陣列 rowsum 和 colsum 其中 rowsum i 是二維矩陣中第 i 行元素的和,colsum j 是第 j 列元素的和。換言之你不知道矩陣裡的每個元素,但是你知道每一行和每一列的和。請找到大小為 rowsum.length x colsum.length 的任...

leetcode1605 給定行和列的和求可行矩陣

給你兩個非負整數陣列 rowsum 和 colsum 其中 rowsum i 是二維矩陣中第 i 行元素的和,colsum j 是第 j 列元素的和。換言之你不知道矩陣裡的每個元素,但是你知道每一行和每一列的和。請找到大小為 rowsum.length x colsum.length 的任意 非負整...