leetcode 73 矩阵置零 Python
给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法。
示例 1:
输入: [[1,1,1],[1,0,1],[1,1,1] ] 输出: [[1,0,1],[0,0,0],[1,0,1] ]
示例 2:
输入: [[0,1,2,0],[3,4,5,2],[1,3,1,5] ] 输出: [[0,0,0,0],[0,4,5,0],[0,3,1,0] ]
进阶:
- 一个直接的解决方案是使用 O(mn) 的额外空间,但这并不是一个好的解决方案。
- 一个简单的改进方案是使用 O(m + n) 的额外空间,但这仍然不是最好的解决方案。
- 你能想出一个常数空间的解决方案吗?
个人认为我这个思路在时间复杂度和空间复杂度上都比较可以的,有任何建议敬请批评指正
class Solution:def setZeroes(self, matrix: List[List[int]]) -> None:"""Do not return anything, modify matrix in-place instead."""i_s = []j_s = []for i,line in enumerate(matrix):has_z = Falsefor idx in range(len(line)):if line[idx] == 0:j_s.append(idx)has_z = Trueif has_z:i_s.append(i)for i in i_s:matrix[i] = [0 for i in range(len(matrix[0]))]if len(j_s):for j in j_s:for idx in range(len(matrix)):matrix[idx][j] = 0
转载于:https://www.cnblogs.com/watch-fly/p/leetcode_73_watchfly.html
leetcode 73 矩阵置零 Python相关推荐
- Java实现 LeetCode 73 矩阵置零
73. 矩阵置零 给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0.请使用原地算法. 示例 1: 输入: [ [1,1,1], [1,0,1], [1,1,1] ...
- LeetCode 73. 矩阵置零(两个标记变量)
73. 矩阵置零 我们可以用矩阵的第一行和第一列作为两个标记数组,以达到 O(1)O(1) 的额外空间. 但这样会导致原数组的第一行和第一列被修改,无法记录它们是否原本包含 0.因此我们需要额外使用两 ...
- LeetCode 73矩阵置零74搜素二维矩阵75颜色分类
新人公众号(求支持):bigsai 专注于Java.数据结构与算法,一起进大厂不迷路! 算法文章题解全部收录在github仓库bigsai-algorithm,求star! 关注回复进群即可加入力扣打 ...
- leetcode 73 矩阵置零 C++ 两种解法
leetcode 73 两种解法~~,没有一个是我想出来的,哈哈~~ one class Solution {public:void setZeroes(vector<vector<int ...
- leetcode 73. 矩阵置零
给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 .请使用 原地 算法. 进阶: 一个直观的解决方案是使用 O(mn) 的额外空间,但这并不是一个好的解决方案. ...
- Leetcode算法Java全解答--73. 矩阵置零
Leetcode算法Java全解答–73. 矩阵置零 文章目录 Leetcode算法Java全解答--73. 矩阵置零 题目 想法 结果 总结 代码 我的答案 大佬们的答案 测试用例 其他 题目 给定 ...
- 矩阵置零Python解法
给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 .请使用 原地 算法. 例: 输入:matrix = [[1,1,1],[1,0,1],[1,1,1]] 输出 ...
- leetcode(js)-每日一练之 矩阵置零 题库编号 73
leetcode(js)-每日一练之 矩阵置零 1.检查并标记第一行和第一列是否有0 (firstColHasZero和firstRowHasZero) 2.忽略第一行第一列,若其余行列含有0,将其所 ...
- C++矩阵置零---原地算法(附三种解法)
如题只要发现一个元素为0,那么它所在的行和列都要置零. 方法一:使用两个数组只要发现某个元素为0,就将这一行或这一列的头元素置true,然后再遍历矩阵,只要某个元素对应的行或列头元素为true,那么对 ...
最新文章
- 机器学习系列 5:特征缩放
- PHP 端口号 是否 被占用 以及 解决方法
- Mybaitis 缓存的优化
- 计算机软件硬件试讲,试讲:初识计算机网络
- ML之LiR:使用线性回归LiR回归模型在披萨数据集上拟合(train)、价格回归预测(test)
- matlab 定义一个有自变量的方程_Eviews、Stata、Python、Matlab、R描述+相关+回归分析教程汇总...
- JavaParser中AST节点的观察者
- hbase(三)coprocessor
- Cucumber 相关资源
- 设计灵感|电商美工,年年都能借鉴的新年
- Linux-Can't create socket: Too many open files
- Android 实现静默安装
- asp.net 大文上传配置
- 一点计算机电脑就闪,电脑启动有点闪烁是怎么回事
- 作为一名女程序员是什么体验?
- 【战神引擎】游戏不开门怎么解决?
- 解决visio和office365冲突,无法安装visio问题
- ESP32产品系列之智能插座(一),框架及硬件设计
- codeforces.1253 B
- 嵌入式linux/鸿蒙开发板(IMX6ULL)开发(二十四)具体单板的GPIO操作方法
热门文章
- s5pv210启动debian出错提示bash: cannot set terminal process group (-1): Inappropriate ioctl for device...
- RobotFrameWork接口报文测试-----(一)简单demo的实现
- Spring自定义属性编辑器PropertyEditorSupport + 使用CustomEditorConfigurer注册属性编辑器...
- 一键安装GitLab7在RHEL6.4上
- 开发者和程序员需要关注的42个播客
- 一种改进的快速人脸检测算法
- 机器学习资料推荐 URL
- Python 存储模型
- MVC ---- EF的延迟加载
- 八、数据库服务连接存储(MPIO) 中