LeetCode算法题-Toeplitz Matrix(Java实现)

TOEPLITZ矩阵类的快速算法 徐仲 西北工业大学出版社 立即下载

这是悦乐书的第312次更新,第333篇原创

01 看题和准备

今天介绍的是LeetCode算法题中Easy级别的第181题(顺位题号是766)。如果从左上角到右下角的每个对角线具有相同的元素,则矩阵是Toeplitz。现在给定一个M×N矩阵,当且仅当矩阵是Toeplitz时返回True。例如:

输入:矩阵= [[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。


输入:矩阵= [[1,2],[2,2]]

输出:错误

说明:对角线“[1,2]”具有不同的元素。


注意:

  • 矩阵将是一个整数的二维数组。

  • 矩阵将具有范围[1,20]中的多个行和列。

  • matrix [i] [j]将是范围[0,99]中的整数。

跟进:

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

2、如果矩阵太大而你只能一次将部分行加载到内存中怎么办?

本次解题使用的开发工具是eclipse,jdk使用的版本是1.8,环境是win7 64位系统,使用Java语言编写和测试。

02 解题

题目的要求是判断对角线上的值是否都相同,所以我们直接遍历数组,获取当前元素,判断它的右下元素(行和列都加1)是否与其相等,当然也可以判断左上方向,不等于就直接返回false。

另外,题目后面跟了两个问题,针对第一个问题可以使用HashMap或者队列的方式,存一次判断一次;针对第二个问题,根据每次能加载最大行数,将其分解。

public boolean isToeplitzMatrix(int[][] matrix) {
    int r = matrix.length;
    int c = matrix[0].length;
    for (int i=0; i<r; i++) {
        for (int j=0; j<c; j++) {
            if (i+1<r && j+1<c && matrix[i+1][j+1] != matrix[i][j]) {
                return false;
            }
        }
    }
    return true;
}

03 小结

算法专题目前已日更超过五个月,算法题文章181+篇,公众号对话框回复【数据结构与算法】、【算法】、【数据结构】中的任一关键词,获取系列文章合集。

以上就是全部内容,如果大家有什么好的解法思路、建议或者其他问题,可以下方留言交流,点赞、留言、转发就是对我最大的回报和支持!

Toeplitz矩阵相乘快速算法 Toeplitz矩阵相乘快速算法,在很多领域有重要应用,可以看看。 立即下载

相关推荐

几种经典的Hash算法的实现(源代码)

这是几种经典的Hash算法的实现(源代码),里面源代码和文字解说都有

LeetCode766.托普利茨矩阵(Java+双重循环)

题目 如果矩阵上每一条由左上到右下的对角线上的元素都相同,那么这个矩阵是 托普利茨矩阵 。 给定一个 M x N 的矩阵,当且仅当它是托普利茨矩阵时返回 True。 案例: 输入: 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。 分析

Fiona20的博客 268

Java经典算法:Toeplitz矩阵

如果从左上到右下的每个对角线都具有相同的元素,则矩阵为Toeplitz。给定一个矩阵,检查它是否为toeplitz。(假设矩阵不为空) Java解决方案 public boolean isToeplitzMatrix(int[][] matrix) { int m=matrix.length; int n=matrix[0].length; for(int i=0; i<m; i++){ for(int j=0; j<n; j++){ if(i+1<m && j+1<n && matrix[i][j]!=matrix[i+1][j+1]){ return false; } } } return

LeetCode:766. 托普利茨矩阵

题目 如果一个矩阵的每一方向由左上到右下的对角线上具有相同元素,那么这个矩阵是托普利茨矩阵。 给定一个 M x N 的矩阵,当且仅当它是托普利茨矩阵时返回 True。 示例 1: 输入: matrix = [ [1,2,3,4], [5,1,2,3], [9,5,1,2] ] 输出: True 解释: 在上述矩阵中, 其对角线为: “[9]”, “[5, 5]”, “[1, 1, 1]”, “[2...

Doraemon_Zzn的博客 270

保姆级教程:用MS建完分子模型,如何一键转成LAMMPS能用的data文件?

本文详细介绍了如何将Materials Studio(MS)构建的分子模型转换为LAMMPS可用的data文件的全流程。重点讲解了力场选择、环境配置、转换命令参数解析及常见问题排查,帮助初学者快速掌握MS与LAMMPS之间的数据转换技巧,特别适合计算材料学领域的研究人员。

weixin_42665255的博客 472

HINT: High-quality INpainting Transformer with Mask-Aware Encoding and Enhanced Attention 训练自己的数据集

HINT(高质量图像修复变换器)通过创新的掩码感知像素洗牌下采样模块(MPD)和空间激活通道注意力层(SCAL),显著提高了图像修复的质量,尤其在大面积缺失区域的情况下。实验表明,HINT在CelebA、CelebA-HQ、Places2和敦煌数据集上超越了现有的最先进模型,提升了图像的细节和结构一致性。

LJ1147517021的博客 314

LeetCode766.托普利茨矩阵(Java实现)

链接:https://leetcode-cn.com/problems/toeplitz-matrix/ class Solution { public boolean isToeplitzMatrix(int[][] matrix) { if(matrix==null){ return false; } for(int i=0;i<matrix.l...

Teacher_HENG 509

java技术专家 【DDD(领域驱动设计)思想解读及优秀实践 22】|泛化建模(上):领域知识更抽象怎么办?

java技术专家 【DDD(领域驱动设计)思想解读及优秀实践 22】|泛化建模(上):领域知识更抽象怎么办?

大壮 1167

leetcoder题目java_LeetCode算法题-Toeplitz Matrix(Java实现)

这是悦乐书的第312次更新,第333篇原创01 看题和准备今天介绍的是LeetCode算法题中Easy级别的第181题(顺位题号是766)。如果从左上角到右下角的每个对角线具有相同的元素,则矩阵是Toeplitz。现在给定一个M×N矩阵,当且仅当矩阵是Toeplitz时返回True。例如:输入:矩阵= [[1,2,3,4],[5,1,2,3],[9,5,1,2]]输出:true说明:在上面的网格中...

weixin_30741979的博客 180

在线考试题库抓取:Python 爬虫抓取各类在线考试平台题库和试题

通过这些技术,您可以抓取各类在线考试平台上的题库数据,进行数据分析、生成练习题集,甚至用于考试准备。为了演示抓取过程,本篇博客选择了两个常见的在线考试平台进行数据抓取:一个是教育考试平台(如“中小学题库”),另一个是职业考试平台(如“华图教育”)。对于这些网站,我们需要找到包含题库信息的页面,并分析每一页的 HTML 结构,从而定位到题目、选项、答案等数据。大多数在线考试平台的题库是分页显示的,因此我们需要遍历多个页面,抓取所有的题库数据。因此,我们需要设置合适的请求头来模拟真实的浏览器请求。

2201_76125261的博客 3446

软硬件融合加速技术系列文章

目录 文章目录目录计算机组成原理Linux 操作系统原理处理器进程管理内存管理I/O 系统文件系统网络协议栈资源管理设备管理GPUFPGASmartNIC/DPU 计算机组成原理 《计算机组成原理 — 冯诺依曼体系结构》 《计算机组成原理 — 基本硬件设备》 《计算机组成原理 — CPU 中央处理器》 《计算机组成原理 — 指令系统》 《计算机组成原理 — 总线系统》 《计算机组成原理 — 存储系统》 《计算机组成原理 — 输入输出系统 — 存储控制器接口类型》 《计算机组成原理 — 服务器》 《计算机组成

烟云的计算 6808

【LeetCode】766. Toeplitz Matrix(Toeplitz矩阵)

【LeetCode】766. Toeplitz Matrix(Toeplitz矩阵) 题目链接:https://leetcode.com/problems/toeplitz-matrix/description/ 问题描述: A matrix is Toeplitz if every diagonal from top-left to bottom-right has

Mr.王同学 603

把 LangGraph 当“工作流引擎”用:与传统 BPM 的差异与融合策略

首先,我们来回顾一下有限状态机(FSM)的基本定义——一个 FSM 可以用一个五元组MQΣδq0FMQΣδq0​FQQQ有限状态集合,包含 FSM 所有可能的状态;Σ\SigmaΣ有限输入字母表,包含 FSM 所有可能的输入;δ\deltaδ状态转移函数,定义了 FSM 从当前状态q∈Qq \in Qq∈Q接收输入σ∈Σσ∈Σ后,转移到的下一个状态q′∈Qq' \in Qq′∈Q,即δQ×Σ→QδQ×Σ→Q。

AI 原生应用开发的博客 227

Leetcode 766. Toeplitz Matrix (Java)

问题描述 A matrix is Toeplitz if every diagonal from top-left to bottom-right has the same element. Now given an M x N matrix, return True if and only if the matrix is Toeplitz. Example 1: Input:...

lovrain的博客 513

一台NAS两个系统:飞牛nas上完美运行群晖DSM?(飞牛nas+群晖nas套娃安装实操)

想在飞牛NAS上体验群晖DSM系统?💡 本文详细记录了飞牛nas上部署群晖的完整过程,从镜像转换到系统安装,每一步都有详细说明 🖥️,让你在不增加硬件成本的情况下,轻松实现一套硬件、多种系统的灵活部署 ✅

XiaoqiangClub的博客 2391

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

leetcode 766. Toeplitz Matrix -java

A matrix is Toeplitz if every diagonal from top-left to bottom-right has the same element. Now given an M x N matrix, return True if and only if the matrix is Toeplitz. Example 1: Input: matrix = ...

DurianPudding的博客 315

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Toeplitz Matrix

https://leetcode.com/problems/toeplitz-matrix/description/ 题解:题目主要是比较每个左上至右下对角线的元素是否相等,都相等的话返回true,有不相等的返回false。观察可得,同一对角线上的元素,横纵坐标都是差相等的常数。遍历数组中除第一行和第一列的元素,然后依次比较对角线前一个元素即可。 class Solution { p

Isaac Lin 302

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

766. Toeplitz Matrix - LeetCode

为什么80%的码农都做不了架构师?>>> ...

weixin_34029949的博客 121

LeetCode 766.Toeplitz Matrix

今日刷到LeetCode766题,判断给定的矩阵是否托普利兹矩阵。托普利兹矩阵,简称为T型矩阵。托普利兹矩阵的主对角线上的元素相等,平行于主对角线的线上的元素也相等;矩阵中的各元素关于次对角线对称,即T型矩阵为次对称矩阵。 本人所写代码如下: class Solution { public boolean isToeplitzMatrix(int[][] matrix) { ...

wuqingdeqing的博客 501

766. Toeplitz Matrix

/** * Created by Joe on 2018/4/7 * 766. Toeplitz Matrix * https://leetcode.com/problems/toeplitz-matrix/description/ */ public class P766 { public boolean isToeplitzMatrix(int[][] matrix) { ...

用时间去蜕变 260

leetcode讲解--766. Toeplitz Matrix

题目 A matrix is Toeplitz if every diagonal from top-left to bottom-right has the same element. Now given an M x N matrix, return True if and only if the matrix is Toeplitz...

weixin_34279061的博客 113

【Array-easy】766. Toeplitz Matrix 二维数组判断斜着的每一列是否相等.

1. 题目原址 https://leetcode.com/problems/toeplitz-matrix/ 2. 题目描述 3. 题目大意 给定一个二维数组,判断数组中的斜着的每一列是否相等 4. 解题思路 签到题 5. AC代码 class Solution { public boolean isToeplitzMatrix(int[][] matrix) { if(...

想当厨子的程序媛 228

LeetCode——766. 托普利茨矩阵(Toeplitz Matrix)[简单]——分析及代码(Java)

LeetCode——766. 托普利茨矩阵[Toeplitz Matrix][简单]——分析及代码[Java]一、题目二、分析及代码1. 直接比较(1)思路(2)代码(3)结果三、其他 一、题目 给你一个 m x n 的矩阵 matrix 。如果这个矩阵是托普利茨矩阵,返回 true ;否则,返回 false 。 如果矩阵上每一条由左上到右下的对角线上的元素都相同,那么这个矩阵是 托普利茨矩阵 。 示例 1: 输入:matrix = [[1,2,3,4],[5,1,2,3],[9,5,1,2]] 输出:tr

江南土豆的博客 441

【LeetCode】766. Toeplitz Matrix 托普利茨矩阵(Easy)(JAVA)

【LeetCode】766. Toeplitz Matrix 托普利茨矩阵(Easy)(JAVA) 题目地址: https://leetcode.com/problems/toeplitz-matrix/ 题目描述: Given an m x n matrix, return true if the matrix is Toeplitz. Otherwise, return false. A matrix is Toeplitz if every diagonal from top-le

qq_16927853的博客 416
上一篇: LeetCode算法题-Prime Number of Set Bits in Binary Representation(Java实现)
下一篇: LeetCode算法题-Jewels and Stones(Java实现)
程序员小川
博客等级 码龄10年 47粉丝 305原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值