假设我们有一个矩阵M,我们必须检查它是否是Toeplitz矩阵。众所周知,从左到右下降的每个对角线具有相同的值时,矩阵称为Toeplitz。
所以,如果输入像
7 | 2 | 6 |
3 | 7 | 2 |
5 | 3 | 7 |
那么输出将为True。
为了解决这个问题,我们将遵循以下步骤-
对于除最后一行以外的每一行,
如果matrix [i,j]与matrix [i + 1,j + 1]不同,则
返回False
对于除最后一列之外的每一列,执行
返回True
让我们看下面的实现以更好地理解-
class Solution: def solve(self, matrix): for i in range(len(matrix)-1): for j in range(len(matrix[0])-1): if matrix[i][j]!=matrix[i+1][j+1]: return False return True ob = Solution()matrix = [ [7, 2, 6], [3, 7, 2], [5, 3, 7]] print(ob.solve(matrix))
[[7, 2, 6], [3, 7, 2], [5, 3, 7]]
输出结果
True