欢迎光临散文网 会员登陆 & 注册

LeetCode 1605. Find Valid Matrix Given Row and Column Sums

2023-03-15 09:15 作者:您是打尖儿还是住店呢  | 我要投稿


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(rowSum) == sum(colSum)

有点像中学的几元一次方程组了,就是但是求解的方式不太一样,就是每次先找到这个行列和的最小值,让这个元素等于这个值,然后行之和减去这个值,列之和减去这个值,一旦行之和或者列之和为0了,就i++ 或者j++;

即可。


Runtime: 1 ms, faster than 100.00% of Java online submissions for Find Valid Matrix Given Row and Column Sums.

Memory Usage: 50.8 MB, less than 27.05% of Java online submissions for Find Valid Matrix Given Row and Column Sums.


LeetCode 1605. Find Valid Matrix Given Row and Column Sums的评论 (共 条)

分享到微博请遵守国家法律