题目描述:

给你一个 m x n 的矩阵 matrix 。如果这个矩阵是托普利茨矩阵,返回 true ;否则,返回 false 。

如果矩阵上每一条由左上到右下的对角线上的元素都相同,那么这个矩阵是 托普利茨矩阵 。

示例 1:


输入:matrix = [[1,2,3,4],[5,1,2,3],[9,5,1,2]]
输出:true
解释:
在上述矩阵中, 其对角线为: 
"[9]", "[5, 5]", "[1, 1, 1]", "[2, 2, 2]", "[3, 3]", "[4]"。 
各条对角线上的所有元素均相同, 因此答案是 True 。
示例 2:


输入:matrix = [[1,2],[2,2]]
输出:false
解释:
对角线 "[1, 2]" 上的元素不同。

提示:

m == matrix.length
n == matrix[i].length
1 <= m, n <= 20
0 <= matrix[i][j] <= 99

class Solution {public boolean isToeplitzMatrix(int[][] matrix) {if(matrix==null||matrix.length==0)return false;int m=matrix.length;int n=matrix[0].length;for(int i=0;i<n;i++){int j=m-1;int z=i;int num=matrix[j][i];while(z>=0&&j>=0){if(matrix[j][z]!=num)return false;j--;z--;}}for(int i=m-2;i>=0;i--){int j=n-1;int z=i;int num=matrix[i][j];while(z>=0&&j>=0){if(matrix[z][j]!=num)return false;j--;z--;}}return true;}
}

进阶:

如果矩阵存储在磁盘上,并且内存有限,以至于一次最多只能将矩阵的一行加载到内存中,该怎么办?

class Solution {public boolean isToeplitzMatrix(int[][] matrix) {if(matrix==null||matrix.length==0)return false;int m=matrix.length;int n=matrix[0].length;for(int i=1;i<m;i++){if(test(matrix[i-1],matrix[i])==false)return false;}return true;}public boolean test(int[] arr1,int[] arr2){if(arr1==null||arr2==null||arr1.length==0||arr2.length==0)return false;for(int i=0;i<arr1.length-1;i++){if(arr1[i]!=arr2[i+1])return false;}return true;}
}

如果矩阵太大,以至于一次只能将不完整的一行加载到内存中,该怎么办?

Leetcode-766 托普利茨矩阵相关推荐

  1. leetcode 766. 托普利茨矩阵

    给你一个 m x n 的矩阵 matrix .如果这个矩阵是托普利茨矩阵,返回 true :否则,返回 false . 如果矩阵上每一条由左上到右下的对角线上的元素都相同,那么这个矩阵是 托普利茨矩阵 ...

  2. 766. 托普利茨矩阵

    链接:766. 托普利茨矩阵 题解:https://leetcode-cn.com/problems/toeplitz-matrix/solution/pan-duan-mei-ge-yuan-su- ...

  3. 766.托普利茨矩阵

    给你一个 m x n 的矩阵 matrix .如果这个矩阵是托普利茨矩阵,返回 true :否则,返回 false . 如果矩阵上每一条由左上到右下的对角线上的元素都相同,那么这个矩阵是 托普利茨矩阵 ...

  4. 766. 托普利茨矩阵(javascript)766. Toeplitz Matrix

    给你一个 m x n 的矩阵 matrix .如果这个矩阵是托普利茨矩阵,返回 true :否则,返回 false . 如果矩阵上每一条由左上到右下的对角线上的元素都相同,那么这个矩阵是 托普利茨矩阵 ...

  5. Feburary——766.托普利茨矩阵

    又是新的一周,加油板砖,加油刷题. class Solution:def isToeplitzMatrix(self, matrix: List[List[int]]) -> bool:if n ...

  6. (进阶)LeetCode(766)——托普利茨矩阵(JavaScript)

    如果一个矩阵的每一方向由左上到右下的对角线上具有相同元素,那么这个矩阵是托普利茨矩阵. 给定一个 M x N 的矩阵,当且仅当它是托普利茨矩阵时返回 True. 示例1: 输入: matrix = [ ...

  7. LeetCode简单题之托普利茨矩阵

    题目 给你一个 m x n 的矩阵 matrix .如果这个矩阵是托普利茨矩阵,返回 true :否则,返回 false . 如果矩阵上每一条由左上到右下的对角线上的元素都相同,那么这个矩阵是 托普利 ...

  8. LeetCode-66. 托普利茨矩阵

    题目描述: 给你一个 m x n 的矩阵 matrix .如果这个矩阵是托普利茨矩阵,返回 true :否则,返回 false . 如果矩阵上每一条由左上到右下的对角线上的元素都相同,那么这个矩阵是 ...

  9. C#LeetCode刷题之#766-托普利茨矩阵(Toeplitz Matrix)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3748 访问. 如果一个矩阵的每一方向由左上到右下的对角线上具有相 ...

最新文章

  1. 机器学习进阶-图像形态学操作-腐蚀操作 1.cv2.erode(进行腐蚀操作)
  2. 解题报告:luogu P3469 [POI2008]BLO-Blockade(割点判定 + 思维计算)
  3. FLASH全屏,左右侧,闪烁广告及对错觉的代码补充.
  4. python哪个代码是正确的字典_Python - 字典(dict) 详解 及 代码
  5. mysql-proxy代理加mysql主从实现读写分离
  6. future promise java_第四章 Future和Promise
  7. Bootstrap3 价格滑动块 price range bootstrap-slider
  8. httpservletrequest_HttpServletResponse和HttpServletRequest取值的2个坑你知道吗?
  9. 阿里云ECS服务器Linux环境下配置php服务器(二)--phpMyAdmin篇
  10. 新华书店牵手阿里云 要用云计算打造“智慧悦读”
  11. 思维导图与知识树/大纲/目录的区别是什么?
  12. luogu1600天天爱跑步
  13. 网站SEO的七个技巧
  14. 剑指offe55--链表中环的入口结点
  15. 优麒麟系统安装MySQL_优麒麟Linux(Ubuntu Kylin)简易安装手册
  16. 路遥《人生》中经典语录
  17. 全球最奢侈的运动品牌中国十大顶级学生儿童平衡自行车品牌排行榜
  18. mc服务器如何修改密码,mc服务器密码设置密码
  19. 网线线序及网线转RS232—— DB9线序
  20. Linux网络 IP/TCP校验和、checksum、伪首部相关问题

热门文章

  1. matlab 共轭对称分量,利用共轭对称特性经IFFT转换为实数序列
  2. 数据归一化、标准化和去中心化
  3. [程序人生] --- 永远的87版--电视连续剧《红楼梦》音乐欣赏
  4. 蓝桥杯第十一届真题:八次求和
  5. 飞信Fetion 开发资料及下载
  6. NLP文本信息向量化之特征提取
  7. Java 实习面试经历(一)
  8. React 系列教程2:编写兰顿蚂蚁演示程序
  9. 如何安装husky_GitHook 工具 —— husky介绍及使用
  10. 实用的集成学习模型调优策略SWA