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

力扣矩阵-算法模版总结

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.lryc.cn/news/510766.html

相关文章:

  • 如何在短时间内读懂复杂的英文文献?
  • 基于aspose.words组件的word bytes转pdf bytes,去除水印和解决linux中文乱码问题
  • Bert中文文本分类
  • 【深度学习】Java DL4J基于 CNN 构建车辆识别与跟踪模型
  • 【C#】C#打印当前时间以及TimeSpan()介绍
  • 【Linux 网络 (五)】Tcp/Udp协议
  • 多旋翼无人机理论 | 四旋翼动力学数学模型与Matlab仿真
  • Vue3项目中引入TailwindCSS(图文详情)
  • 【开源项目】数字孪生化工厂—开源工程及源码
  • 咨询团队如何通过轻量型工具优化项目管理和提高团队协作效率?
  • javaWeb开发
  • 如何在 Vue 中处理 API 请求?
  • 基于Debian的Linux发行版的包管理工具
  • 2022年国家公考《申论》题(行政执法)
  • 贪心算法(常见贪心模型)
  • git自动压缩提交的脚本
  • Kinova在开源家庭服务机器人TidyBot++研究里大展身手
  • 使用 Spring Boot 实现文件上传:从配置文件中动态读取上传路径
  • 《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》学习笔记——HarmonyOS技术理念
  • 将多个 k8s yaml 配置文件合并为一个文件
  • Linux 文件的特殊权限—Sticky Bit(SBIT)权限
  • MIPI D-PHY/C-PHY/M-PHY 高速串行接口标准
  • USB免驱IC读写器QT小程序开发
  • OSCP靶场训练冒险之kioprix4:shell逃逸以及利用数据库提权
  • NIPS2014 | GAN: 生成对抗网络
  • Postman接口测试01|接口测试基础概念、http协议、RESTful风格、接口文档
  • Linux系统编程——详解页表
  • SpringBoot + HttpSession 自定义生成sessionId
  • 循环对称复高斯分布(Circularly Symmetric Complex Gaussian Distribution)
  • xinput1_3.dll放在哪里?当xinput1_3.dll丢失时的应对策略:详细解决方法汇总