1、贪心
我们可以在求解矩阵时使用贪心法,对于每个位置都取当前位置可能的最大值。我们在遍历二维矩阵的每一个位置时,将对应的行之和与列之和取最小值,而后将对应的行之和和列之和减去当前位置的值,如此不断进行循环。
class Solution {
public:
vector<vector<int>> restoreMatrix(vector<int> &rowSum, vector<int> &colSum) {
int row = rowSum.size(), col = colSum.size();
vector<vector<int>> res(row, vector<int>(col));
for (int i = 0; i < row; ++i) {
for (int j = 0; j < col; ++j) {
res[i][j] = min(rowSum[i], colSum[j]);
rowSum[i] -= res[i][j];
colSum[j] -= res[i][j];
}
}
return res;
}
};