Re: [闲聊] 每日leetcode

楼主: dont   2024-07-20 12:31:09
1605. Find Valid Matrix Given Row and Column Sums
## 思路
matrix[r][c] 可以塞的值介于[0, min(rowSum[r], colSum[c])]
直接Greedy塞这范围的最大值
再更新rowSum, colSum (减掉 matrix[r][c])
## Complexity
Time, Space: O(MN) # aux space: O(1)
如果用two pointer会快一点
(ex. rowSum[r]=0时, 这个row后面也都会是0 所以可以直接跳过)
不过时间复杂度一样是O(MN)
## Code
```python
class Solution:
def restoreMatrix(self, rowSum: List[int], colSum: List[int]) ->
List[List[int]]:
len_r = len(rowSum)
len_c = len(colSum)
res = [[0] * len_c for _ in range(len_r)]
for r in range(len_r):
for c in range(len_c):
res[r][c] = min(rowSum[r], colSum[c])
rowSum[r] -= res[r][c]
colSum[c] -= res[r][c]
return res
```
作者: Lilchicken (小鸡 )   2023-07-20 12:31:00
楼主: dont   2024-07-20 12:38:00
发过ㄌ

Links booklink

Contact Us: admin [ a t ] ucptt.com