在Python中翻转和反转矩阵

假设我们有一个二进制矩阵矩阵。我们必须选择矩阵中的每一行,然后反转该行。之后,翻转每个位(0至1和1至0)。

所以,如果输入像

110
010
001

那么输出将是

100
101
011

为了解决这个问题,我们将遵循以下步骤-

  • 曲目:= 0

  • 对于垫子中的每一行,

    • 如果val为1,则

    • 除此以外,

    • 追踪器:=追踪器+ 1

    • mat [track,tracker]:= 0

    • mat [track,tracker]:= 1

    • 反转行

    • 追踪器:= 0

    • 对于行中的每个val,执行

    • 轨迹:=轨迹+ 1

    • 返回垫

    让我们看下面的实现以更好地理解-

    示例

    class Solution:
       def solve(self, mat):
          track=0
          for row in mat:
             row.reverse()
             tracker = 0
             for val in row:
                if val == 1:
                   mat[track][tracker] = 0
                else:
                   mat[track][tracker] = 1
                tracker += 1
             track += 1
          return mat
    ob = Solution()mat = [[1,1,0],[0,1,0],[0,0,1]]
    print(ob.solve(mat))

    输入值

    [[1,1,0],[0,1,0],[0,0,1]]

    输出结果

    [[1, 0, 0], [1, 0, 1], [0, 1, 1]]