https://leetcode-cn.com/problems/find-valid-matrix-given-row-and-column-sums/
贪心策略,因为要找到一个可行的非负整数矩阵,我们考虑前边能放元素的时候尽量放上,后边不能放的时候就放0就行。因此矩阵每个位置我们都放上其对应行数组和列数组中的较小值,然后更新行数组和列数组,因为用的是较小值,所以更新以后一定是一个等于0一个大于0。
class Solution {
public:
vector<vector<int>> restoreMatrix(vector<int>& rowSum, vector<int>& colSum) {
int row = rowSum.size(), col = colSum.size();
vector<vector<int>> ans(row, vector<int>(col));
for(int i = 0; i < row; ++i){
for(int j = 0; j < col; ++j){
ans[i][j] = min(rowSum[i], colSum[j]);
rowSum[i] -= ans[i][j];
colSum[j] -= ans[i][j];
}
}
return ans;
}
};