java数据结构与算法刷题-----LeetCode766. 托普利茨矩阵

java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846
解题思路
  1. 这道题只要换一种理解方式,瞬间就会变的很简单。
  2. 题目描述是每个元素左上和右下对角线元素都相同。但是,我们发现除了第一行和第一列外,每个元素的左上角元素都与它相同。
  3. 所以这道题可以换一种理解方式。除了第一行和第一列的元素以外的元素,如果左上角的元素和它不一样,那就不是托普利兹矩阵
代码:时间复杂度O(n*m) 空间复杂度O(1)
java 复制代码
class Solution {
    public boolean isToeplitzMatrix(int[][] matrix) {
        int m = matrix.length, n = matrix[0].length;//获取行和列
        //从第二行第二列开始,判断是否和左上角元素一致,如果不是,则不满足条件
        //因为第一行和第一列没有左上角元素,所以跳过
        for(int i = 1;i<m;i++){
            for(int j = 1; j<n;j++){
                if(matrix[i][j] != matrix[i-1][j-1]) return false;
            }
        }
        //如果每个元素,都满足和左上角元素一致,那么返回true
        return true;
    }
}
相关推荐
学长毕业设计4 分钟前
基于SpringBoot的瑜伽馆网站的设计与实现(源码+文档+讲解视频)
java·spring boot·后端
一嘴一个橘子6 分钟前
nginx 常用命令(在 nginx 目录下执行)
java
带多刺的玫瑰8 分钟前
Leecode#9刷题之回文数
数据结构·算法
harmful_sheep24 分钟前
java group by常见用法
java·开发语言·python
泯泷27 分钟前
手搓JSVM第 5 篇:写第一个编译器:从 AST 生成 IR
前端·javascript·算法
SKH.29 分钟前
Linux软件编程(6)线程间通信
java·开发语言·数据库
泯泷34 分钟前
手搓JSVM第 7 篇:控制流:if、while 与 jump
前端·javascript·算法
Rain的Java大神之路35 分钟前
PC版网站被狂刷怎么处理
java·数据库·redis·后端·mysql·web安全·运维开发
泯泷40 分钟前
手搓JSVM第 6 篇:把 IR 编成字节码:emit 与 label fixup
前端·javascript·算法
泯泷42 分钟前
手搓JSVM第 3 篇:从栈式 VM 到寄存器式 VM:为什么我们选择寄存器
前端·javascript·算法