在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]]

    以上是 在Python中翻转和反转矩阵 的全部内容, 来源链接: utcz.com/z/326920.html

    回到顶部