766. 托普利茨矩阵
给你一个 m x n 的矩阵 matrix 。如果这个矩阵是托普利茨矩阵,返回 true ;否则,返回 false 。
如果矩阵上每一条由左上到右下的对角线上的元素都相同,那么这个矩阵是 托普利茨矩阵 。
解题
开始是想利用循环,通过坐标变换的形式把矩阵遍历一遍,这样做每个位置基本上只用遍历一遍,执行起来快一些,代价是代码编写极其繁琐。
后来学会了矩阵的切片(其实和列表是一样的),于是将每个数与其右下角的数对比。这样执行起来会复杂一点点,但代码编写极其简单
class Solution:
def isToeplitzMatrix(self, matrix: List[List[int]]) -> bool:
for i in range(len(matrix) - 1):
if matrix[i][:-1] != matrix[i + 1][1:]:
return False
return True