当前位置: 首页 > article >正文

力扣矩阵-算法模版总结

lc-73.矩阵置零-(时隔14天)-12.27

 

思路:(23min22s)

        1.直接遍历遇0将行列设0肯定不行,会影响后续判断,题目又要求原地算法,那么进一步考虑是否可以将元素为0,其行列需要设为0的位置给存储下来,最后再遍历根据要求设0即可;
        2.根据特点:在同一行的话只要有一个0,那么这行所有元素都要设为0,如果有一个以上的0的话,相当于重复给这一行设0了,那么可以考虑将行首位置去存储该行是否需要置0,同理,列首位置存储该列是否需要设置为0.
        3.最后根据遍历行首和列首去将相对应的行和列置0。

易错点:

        1.行首和列首均用于存储了其行或列是否需要置0,但是行首和列首本身是否有零就会被忽略,所以开始前先遍历行列首,用变量存储行列首是否需要置零。
        2.注意先开始遍历行首时,应该从第二行开始,不然当matrix[0,0]=0会影响后面列首的判断。

总结:

        原地算法可以考虑找特殊位置去存储信息,可以将行首和列首与其里面的小矩阵划分开处理,外部行列首进行存储,内部先进行遍历,最后考虑外部变化情况,此前,由于先实现内部置零,外部置零情况会被污染,所以可以先用变量存储外部是否需要置零,最后需要考虑matrix[0][0]这个特殊位置。


http://www.kler.cn/a/455906.html

相关文章:

  • GEE云计算、多源遥感、高光谱遥感技术蓝碳储量估算;红树林植被指数计算及提取
  • 加载Tokenizer和基础模型的解析及文件介绍:from_pretrained到底加载了什么?
  • opencl 封装简单api
  • OpenHarmony怎么修改DPI密度值?RK3566鸿蒙开发板演示
  • git自动压缩提交的脚本
  • MySQL 性能瓶颈,为什么 MySQL 表的数据量不能太大?
  • LaTeX 是一种基于标记的排版系统,广泛用于创建高质量的文档,特别是在需要复杂数学公式、表格、文献引用等的场景中
  • 源码分析之Openlayers中GeometryCollection类
  • S5700 V600R024C00 配置指南-工业网络 PROFINET
  • docker项目部署流程(Vue+Spingboot)
  • this的指向问题
  • JVM 及内存管理:掌握 Java 8 的内存模型与垃圾回收机制
  • 【Spring】基于XML的Spring容器配置——FactoryBean的使用
  • 【MySQL】SQL 优化经验
  • Java高级工程师1380道面试题(附答案)分享
  • 一个简单的深度学习模型例程,使用Keras(基于TensorFlow)构建一个卷积神经网络(CNN)来分类MNIST手写数字数据集。
  • iOS Masonry对包体积的影响
  • 深入了解 Java 字符串:基础、操作与性能优化
  • 【Java数据结构】LinkedList与链表
  • 电商项目-数据同步解决方案(二)首页广告缓存同步
  • python网络框架——Django、Tornado、Flask和Twisted
  • 【树莓派Pico设备驱动】-LCD1602显示屏I2C方式驱动(基于PCF8574)
  • React 脚手架配置代理完整指南
  • bash shell的条件语句
  • LabVIEW神经肌肉电刺激与记录系统
  • 入职体检尿潜血3+能通过吗,什么原因引起