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;
    }
}
相关推荐
洛水水3 分钟前
【力扣100题】29. 对称二叉树
算法·leetcode·职场和发展
大熊背11 分钟前
近期遇到的一些问题总结(四)
算法·拍照·白平衡·isp pipeline
吴声子夜歌13 分钟前
Java——Arrays
java·算法·排序算法
fanzhonghong24 分钟前
javaWeb开发之Maven高级
java·开发语言·spring boot·spring cloud·私服
洛水水24 分钟前
【力扣100题】26. 二叉树的中序遍历
算法·leetcode·深度优先
sheeta199825 分钟前
LeetCode 每日一题笔记 日期:2026.05.11 题目:2553. 分割数组中数字的数位
笔记·算法·leetcode
xu_ws26 分钟前
spring通过三级缓存解决循环依赖
java·spring·缓存·循环依赖
Chase_______27 分钟前
Java 基础语言 ③:流程控制与数组——从条件分支到数组遍历,一篇通关
java·数据库·python
luck_bor34 分钟前
Lambda表达式 算法异常
java·开发语言
码上小翔哥36 分钟前
Jackson 配置深度解析
java·后端