力扣矩阵-算法模版总结

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]这个特殊位置。

相关推荐
知识搬运工人5 小时前
传统卷积神经网络中的核心运算是卷积或者矩阵乘,请问transformer模型架构主要的计算
矩阵·cnn·transformer
前端炒粉1 天前
18.矩阵置零(原地算法)
javascript·线性代数·算法·矩阵
AI Chen1 天前
【矩阵分析与应用】【第1章 矩阵与线性方程组】【1.6.2.2 迹的循环置换性质】
矩阵·
大千AI助手1 天前
HOSVD(高阶奇异值分解):高维数据的“解剖术”
人工智能·线性代数·矩阵·张量·svd·hosvd·高阶奇异值分解
marsggbo1 天前
尝试从源头理解 SVD 原理和计算
线性代数·奇异值分解·svd
我想吃余1 天前
【0基础学算法】前缀和刷题日志(三):连续数组、矩阵区域和
算法·矩阵·哈希算法
贝塔实验室2 天前
LDPC 码的度分布
线性代数·算法·数学建模·fpga开发·硬件工程·信息与通信·信号处理
西***63472 天前
从信号零损耗到智能协同:高清混合矩阵全链路技术拆解,分布式可视化系统十大趋势重塑行业
分布式·线性代数·矩阵
charlie1145141912 天前
2D 计算机图形学基础速建——2
笔记·学习·线性代数·教程·计算机图形学
Jay叶湘伦2 天前
非齐次方程解的结构与几何意义的探讨
线性代数