力扣矩阵-算法模版总结

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

相关推荐
庄周迷蝴蝶8 小时前
Extended Kalman Filter
线性代数·机器学习·概率论
Konwledging16 小时前
线性代数-矩阵与向量相乘/矩阵和矩阵相乘
线性代数
郝学胜-神的一滴1 天前
Qt6 + OpenGL 3.3 渲染环境搭建全指南:从空白窗口到专属渲染画布的优雅实现
数据结构·c++·线性代数·算法·系统架构·图形渲染
计算机安禾1 天前
【数据结构与算法】第18篇:数组的压缩存储:对称矩阵、三角矩阵与稀疏矩阵
c语言·开发语言·数据结构·c++·线性代数·算法·矩阵
适应规律1 天前
强化学习笔记(赵世钰)
笔记·线性代数·概率论
Book思议-2 天前
【数据结构】数组与特殊矩阵
数据结构·算法·矩阵
Eloudy2 天前
线性算子 A 的迹为 A 的任意矩阵表示的迹
机器学习·矩阵
net3m332 天前
可微分结构搜索, 可微分算子选择 —— 让程序“结构”也可学习 , 具体怎么实现结构的轮询穷举
人工智能·线性代数·矩阵
人道领域2 天前
LeetCode【刷题日记】:螺旋矩阵逆向全过程,边界缩进优化
算法·leetcode·矩阵
甄心爱学习2 天前
【word2vec】为什么要维护两套词向量矩阵?
机器学习·矩阵·word2vec