Class Solution

  • All Implemented Interfaces:

    
    public final class Solution
    
                        

    1605 - Find Valid Matrix Given Row and Column Sums\.

    Medium

    You are given two arrays rowSum and colSum of non-negative integers where rowSum[i] is the sum of the elements in the <code>i<sup>th</sup></code> row and colSum[j] 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.

    Find any matrix of non-negative integers of size rowSum.length x colSum.length that satisfies the rowSum and colSum requirements.

    Return a 2D array representing any matrix that fulfills the requirements. It's guaranteed that at least one matrix that fulfills the requirements exists.

    Example 1:

    Input: rowSum = 3,8, colSum = 4,7

    Output: [3,0, 1,7]

    Explanation:

    0<sup>th</sup> row: 3 + 0 = 3 == rowSum0

    1<sup>st</sup> row: 1 + 7 = 8 == rowSum1

    0<sup>th</sup> column: 3 + 1 = 4 == colSum0

    1<sup>st</sup> column: 0 + 7 = 7 == colSum1

    The row and column sums match, and all matrix elements are non-negative.

    Another possible matrix is: [1,2, 3,5]

    Example 2:

    Input: rowSum = 5,7,10, colSum = 8,6,8

    Output: [0,5,0, 6,1,0, 2,0,8]

    Constraints:

    • 1 &lt;= rowSum.length, colSum.length &lt;= 500

    • <code>0 <= rowSumi, colSumi<= 10<sup>8</sup></code>

    • sum(rows) == sum(columns)

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Constructor Summary

      Constructors 
      Constructor Description
      Solution()
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      final Array<IntArray> restoreMatrix(IntArray rowSum, IntArray colSum)
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait