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;
    }
}
相关推荐
难得的我们2 分钟前
单元测试在C++项目中的实践
开发语言·c++·算法
weixin199701080162 分钟前
加盟网 item_search - 根据关键词获取行业列表接口对接全攻略:从入门到精通
java·python
EliseL2 分钟前
SuperMap iObjects Java 如何将3DTiles数据转换为S3M三维瓦片
java·3d·三维
Once_day3 分钟前
代码训练总结(1)算法和数据结构的框架思维
数据结构·算法
cyforkk3 分钟前
11、Java 基础硬核复习:常用类和基础API的核心逻辑与面试考点
java·python·面试
全栈师5 分钟前
java和C#的基本语法区别
java·开发语言·c#
鹿角片ljp7 分钟前
力扣125.验证回文串-双指针
数据结构·算法
We་ct21 分钟前
LeetCode 30. 串联所有单词的子串:从暴力到高效,滑动窗口优化详解
前端·算法·leetcode·typescript
-Try hard-23 分钟前
数据结构|概念及单向有头链表
数据结构·算法·vim
小马爱打代码24 分钟前
Spring AI 实战:Agent 基础搭建与核心能力解析
java·人工智能·spring