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;
    }
}
相关推荐
坚持编程的菜鸟6 小时前
模拟实现memmove
c语言·算法·模拟实现memmove
码农颜6 小时前
5.4.1 锁分类
java·数据库·mysql
wabs6667 小时前
关于图论【最短路径之Dijkstra算法(堆优化版)|卡码网47.参加科学大会的思考】
数据结构·算法·图论·优先级队列·邻接表·小顶堆·卡码网
坚持编程的菜鸟7 小时前
编写判断大小端程序
c语言·算法·判断大小端
papaofdoudou7 小时前
判断排列逆序奇偶性的乘积判别法(范德蒙德符号法)
人工智能·算法
linux-hzh8 小时前
百日算法修炼 · Day 03
java·算法
问商十三载8 小时前
RAG 检索效果差怎么排查?2026 五层诊断法完整指南
开发语言·人工智能·windows·python·算法
不负岁月无痕8 小时前
简单理解操作系统结构
java·linux·c语言·开发语言·c++·面试
mister_guo9 小时前
Java线程池参数应该如何设置(ThreadPoolExecutor)
java
余额瞒着我当琳9 小时前
C++模板初阶与STL初探
android·java·c++