2025年Feburary——766.托普利茨矩阵

Feburary——766.托普利茨矩阵又是新的一周 加油板砖 加油刷题 class Solution def isToeplitzMa self matrix List List int gt bool if not matrix return True if len matrix 1 return True

大家好,我是讯享网,很高兴认识大家。

又是新的一周,加油板砖,加油刷题。


讯享网

 

class Solution: def isToeplitzMatrix(self, matrix: List[List[int]]) -> bool: if not matrix: return True if len(matrix)==1: return True #将行和列的元素都拿到 row = matrix[0] col = [matrix[i][0] for i in range(len(matrix))] row_size, col_size = len(matrix),len(matrix[0]) for i in range(len(row)): tmp = row[i] x,y =0,i while x<row_size and y<col_size: if tmp == matrix[x][y]: x+=1 y+=1 else: return False for i in range(1,len(col)): tmp = col[i] x,y = i,0 while x<row_size and y<col_size: if tmp == matrix[x][y]: x+=1 y+=1 else: return False return True row = len(matrix) col = len(matrix[0]) for i in range(row): for j in range(col): if i>0 and j>0 and matrix[i][j]!=matrix[i-1][j-1]: return False return True 

讯享网

所谓托普利茨矩阵就是对角线上所有的元素全部相等。

 

讯享网class Solution: def isToeplitzMatrix(self, matrix: List[List[int]]) -> bool: for i in range(len(matrix) - 1): print(matrix[i][:-1],matrix[i + 1][1:]) if matrix[i][:-1] != matrix[i + 1][1:]: return False return True

不能将一行或者只能加载不完全的的一行,那就用切片方法去做。因为所谓对角线元素全部相等就意味着上一行和下一行就相差一个元素,通过这样的方法就可以判断对角线的元素是不是相等。

总结:切片方法比上述方法更加的高明,代码也更加的简洁,是非常好的一个解决问题的思路。

小讯
上一篇 2025-01-08 11:46
下一篇 2025-03-14 09:33

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/21248.html