在Python中翻转和反转矩阵
假设我们有一个二进制矩阵矩阵。我们必须选择矩阵中的每一行,然后反转该行。之后,翻转每个位(0至1和1至0)。
所以,如果输入像
那么输出将是
为了解决这个问题,我们将遵循以下步骤-
曲目:=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]]