Class Solution
java.lang.Object
g1601_1700.s1605_find_valid_matrix_given_row_and_column_sums.Solution
1605 - Find Valid Matrix Given Row and Column Sums.<p>Medium</p>
<p>You are given two arrays <code>rowSum</code> and <code>colSum</code> of non-negative integers where <code>rowSum[i]</code> is the sum of the elements in the <code>i<sup>th</sup></code> row and <code>colSum[j]</code> is the sum of the elements of the <code>j<sup>th</sup></code> column of a 2D matrix. In other words, you do not know the elements of the matrix, but you do know the sums of each row and column.</p>
<p>Find any matrix of <strong>non-negative</strong> integers of size <code>rowSum.length x colSum.length</code> that satisfies the <code>rowSum</code> and <code>colSum</code> requirements.</p>
<p>Return <em>a 2D array representing <strong>any</strong> matrix that fulfills the requirements</em>. It’s guaranteed that <strong>at least one</strong> matrix that fulfills the requirements exists.</p>
<p><strong>Example 1:</strong></p>
<p><strong>Input:</strong> rowSum = [3,8], colSum = [4,7]</p>
<p><strong>Output:</strong> [[3,0], [1,7]]</p>
<p><strong>Explanation:</strong></p>
<p>0<sup>th</sup> row: 3 + 0 = 3 == rowSum[0]</p>
<p>1<sup>st</sup> row: 1 + 7 = 8 == rowSum[1]</p>
<p>0<sup>th</sup> column: 3 + 1 = 4 == colSum[0]</p>
<p>1<sup>st</sup> column: 0 + 7 = 7 == colSum[1]</p>
<p>The row and column sums match, and all matrix elements are non-negative.</p>
<p>Another possible matrix is: [[1,2],
[3,5]]</p>
<p><strong>Example 2:</strong></p>
<p><strong>Input:</strong> rowSum = [5,7,10], colSum = [8,6,8]</p>
<p><strong>Output:</strong> [[0,5,0], [6,1,0], [2,0,8]]</p>
<p><strong>Constraints:</strong></p>
<ul>
<li><code>1 <= rowSum.length, colSum.length <= 500</code></li>
<li><code>0 <= rowSum[i], colSum[i] <= 10<sup>8</sup></code></li>
<li><code>sum(rows) == sum(columns)</code></li>
</ul>
-
Constructor Summary
Constructors -
Method Summary
-
Constructor Details
-
Solution
public Solution()
-
-
Method Details
-
restoreMatrix
public int[][] restoreMatrix(int[] rowSum, int[] colSum)
-