LeetCode 766 Toeplitz Matrix 解题报告

时间:2023-03-09 05:10:50
LeetCode 766 Toeplitz Matrix 解题报告

题目要求

A matrix is Toeplitz if every diagonal from top-left to bottom-right has the same element.

Now given an M x N matrix, return True if and only if the matrix is Toeplitz.

题目分析及思路

给定一个M x N的矩阵,判断这个矩阵是不是Toeplitz。符合条件的矩阵应满足从左上到右下的每条对角线上的元素都相同。我们可以发现同一条对角线上的元素的行号与列号的差值是相同的,所以我们可以用一个字典将该差值存储为key,对应的value为元素值。

python代码

class Solution:

def isToeplitzMatrix(self, matrix: 'List[List[int]]') -> 'bool':

groups = {}

for r, row in enumerate(matrix):

for c, e in enumerate(row):

if r-c not in groups:

groups[r-c] = e

elif groups[r-c] != e:

return False

return True