給你兩個非負整數陣列 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 的任意 非負整...