colsum
is equal to upper + lower
. If not, return an empty array.2
s in colsum
. If this count is greater than upper
or lower
, return an empty array.upperRow
and lowerRow
, with zeros.colsum
:
a. If colsum[i] == 2
, set upperRow[i]
and lowerRow[i]
to 1
, and decrement both upper
and lower
.
b. If colsum[i] == 1
, preferentially assign 1
to upperRow
if upper > lower
, otherwise assign to lowerRow
, and decrement the corresponding upper
or lower
.upper
or lower
is not zero, return an empty array.upperRow
and lowerRow
.