天天看点

Leetcode 1253. Reconstruct a 2-Row Binary Matrix

1. Description

Leetcode 1253. Reconstruct a 2-Row Binary Matrix

2. Solution

**解析:**Version 1,由于是二值矩阵且只有两行,因此根据列的和来设置两行的值。

  • Version 1
class Solution:
    def reconstructMatrix(self, upper: int, lower: int, colsum: List[int]) -> List[List[int]]:
        n = len(colsum)
        matrix = [[0] * n, [0] * n]
        for i in range(n):
            if colsum[i] == 2:
                matrix[0][i] = 1
                matrix[1][i] = 1
                upper -= 1
                lower -= 1
            elif colsum[i] == 1:
                if upper > lower:
                    matrix[0][i] = 1
                    upper -=1
                else:
                    matrix[1][i] = 1
                    lower -=1

        if upper == 0 and lower == 0:
            return matrix
        return []           

复制

Reference

  1. https://leetcode.com/problems/reconstruct-a-2-row-binary-matrix/