java.lang.Object
g1601_1700.s1605_find_valid_matrix_given_row_and_column_sums.Solution

public class Solution extends java.lang.Object
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 ith row and colSum[j] is the sum of the elements of the jth 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:

0th row: 3 + 0 = 3 == rowSum[0]

1st row: 1 + 7 = 8 == rowSum[1]

0th column: 3 + 1 = 4 == colSum[0]

1st column: 0 + 7 = 7 == colSum[1]

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 <= rowSum.length, colSum.length <= 500
  • 0 <= rowSum[i], colSum[i] <= 108
  • sum(rows) == sum(columns)
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    int[][]
    restoreMatrix(int[] rowSum, int[] colSum)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Solution

      public Solution()
  • Method Details

    • restoreMatrix

      public int[][] restoreMatrix(int[] rowSum, int[] colSum)