力扣矩阵-算法模版总结

embedded/2024/12/28 11:16:57/

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.ppmy.cn/embedded/149427.html

相关文章

Git快速查阅

根据平时使用git的流程来编写。 git init 建立当前目录git仓库 git add . 将当前目录所有文件加入git暂存区,让git进行管理 git status 查看当前暂存区内容 git commit -m commit 描述 将当前暂存区中的内容进行提交,保存为一个commit。 git log 查…

嵌入式硬件面试题

1、请问什么是通孔、盲孔和埋孔?孔径多大可以做机械孔,孔径多小必须做激光孔?请问激光微型孔可以直接打在元件焊盘上吗,为什么? 通孔是贯穿整个PCB的过孔,盲孔是从PCB表层连接到内层的过孔,埋孔…

Matlab个性化绘图第7期—带标记面的三维多组折线图

上一期文章分享了Matlab带标记面的三维折线图: 进一步,再来分享一下带标记面的三维多组折线图。 由于Matlab未收录带标记面的三维多组折线图的绘图函数,因此需要大家自行解决。 本文使用自制的addPlane小工具进行带标记面的三维多组折线图的…

快速排序算法

一、快速排序简介 **快速排序(Quick Sort)**是一种基于分治法的高效排序算法,由C. A. R. Hoare于1960年提出。它的平均时间复杂度为O(n log n),在实际应用中,由于其优秀的性能和较高的效率,被认为是排序算…

LLMs之o3:《Deliberative Alignment: Reasoning Enables Safer Language Models》翻译与解读

LLMs之o3:《Deliberative Alignment: Reasoning Enables Safer Language Models》翻译与解读 导读:2024年12月,这篇论文提出了一种名为“审慎式对齐 (Deliberative Alignment)”的新方法,旨在提高大型语言模型 (LLM) 的安全性。论…

【实验记录】动手实现一个简单的神经网络实验(一)

最近上了“神经网络与深度学习”这门课,有一个自己动手实现调整神经网络模型的实验感觉还挺有记录意义,可以帮我巩固之前学习到的理论知识,所以就打算记录一下。 实验大概是使用LeNet(卷积神经网络)对MINIST数据集做图…

python实战案例笔记:统计出数据中路劲下没有文件的文件夹

数据样例:👇有如下excel数据 需求:有如下excel,a.xls,统计出路劲下没有文件的路劲 详细实现代码: import os from openpyxl import Workbook from datetime import datetimedef get_empty_dirs(paths):# …

小米加速AI布局,搭建GPU万卡集群,近屿智能带您走近AI大模型

小米公司近期宣布正在加速构建GPU万卡集群,这一举措标志着小米在AI大模型领域的战略升级。据内部人士透露,该计划已在雷军的领导下秘密推进数月。雷军指出,在AI硬件的发展中,手机才是核心,小米在这一领域的全面投入是战…