| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 
 | class Solution {public:
 vector<vector<int>> restoreMatrix(vector<int>& rowSum, vector<int>& colSum) {
 int m = rowSum.size();
 int n = colSum.size();
 vector<vector<int>> result = vector(m, vector(n, 0));
 int i = 0, j = 0;
 while (i < m && j < n)
 {
 int v = min(rowSum[i], colSum[j]);
 result[i][j] = v;
 rowSum[i] -= v;
 colSum[j] -= v;
 if (rowSum[i] == 0) {
 ++i;
 }
 if (colSum[j] == 0) {
 ++j;
 }
 }
 return result;
 }
 };
 
 |