问题:
方法:
填充逻辑是这样的:填充行和与列和的较小值,然后在行和与列和中减去该值,每个位置都遵循该原则。较小值的原因是如果不是较小值,减去该值后可能为负数。
class FindValidMatrixGivenRowAndColumnSums {
fun restoreMatrix(rowSum: IntArray, colSum: IntArray): Array<IntArray> {
val result = Array(rowSum.size) {
IntArray(colSum.size) { 0 }
}
for (row in result.indices) {
for (col in result[0].indices) {
result[row][col] = minOf(rowSum[row], colSum[col])
rowSum[row] -= result[row][col]
colSum[col] -= result[row][col]
}
}
return result
}
}
有问题随时沟通
网友评论