力扣矩阵-算法模版总结

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

相关推荐
矢志航天的阿洪13 小时前
IGRF-13 数学细节与公式说明
线性代数·机器学习·矩阵
人机与认知实验室16 小时前
人机环境系统矩阵的“秩”
线性代数·矩阵
闪电麦坤9516 小时前
Leecode热题100:矩阵置零(矩阵)
线性代数·算法·矩阵
人机与认知实验室16 小时前
人机环境系统矩阵典型案例分析
线性代数·矩阵
山楂树の16 小时前
计算机图形学 模型矩阵的逆矩阵:如何从“世界”回归“局部”?
线性代数·矩阵·回归
量子炒饭大师19 小时前
【C++入门】数字算子重构的共鸣矩阵 ——【运算符重载】怎样让两个自定义对象直接相加、比较或输出? 运算符重载的完整实现指南助你破局!
c++·矩阵·重构·运算符重载
闪电麦坤9519 小时前
Leecode热题100:螺旋矩阵(矩阵)
线性代数·矩阵
AI科技星20 小时前
匀速圆周运动正电荷相关场方程的求导证明与验证
人工智能·线性代数·算法·矩阵·数据挖掘
Blossom.11821 小时前
从数字大脑到物理实体:具身智能时代的大模型微调与部署实战
人工智能·python·深度学习·fpga开发·自然语言处理·矩阵·django
victory04312 天前
交叉熵处softmax有计算被浪费,因为我们只需要target位置的softmax而不是整个矩阵的softmax
线性代数·矩阵