如果一个矩阵的每一方向由左上到右下的对角线上具有相同元素,那么这个矩阵是托普利茨矩阵。
给定一个 M x N
的矩阵,当且仅当它是托普利茨矩阵时返回 True
。
说明:
-
matrix
是一个包含整数的二维数组。 matrix
的行数和列数均在[1, 20]
范围内。matrix[i][j]
包含的整数在[0, 99]
范围内。
进阶:
- 如果矩阵存储在磁盘上,并且磁盘内存是有限的,因此一次最多只能将一行矩阵加载到内存中,该怎么办?
- 如果矩阵太大以至于只能一次将部分行加载到内存中,该怎么办?
class Solution(object): def isToeplitzMatrix(self, matrix): """ :type matrix: List[List[int]] :rtype: bool """ a=len(matrix) b=len(matrix[0]) m=matrix[0] j=b-1 for i in range(1,a): if(matrix[i][1:]==m[:j]): m=matrix[i] continue else: return False return True
class Solution(object): def isToeplitzMatrix(self, matrix): """ :type matrix: List[List[int]] :rtype: bool """ row=len(matrix) col=len(matrix[0]) for i in range (0,row-1): for j in range (0,col-1): if matrix[i+1][j+1]!=matrix[i][j]: return False return True