LeetCode--Set matrix zeros
来源:互联网 发布:大主宰礼包兑换码 淘宝 编辑:程序博客网 时间:2024/05/16 17:54
题目:
给定一个数组matrix(m*n),若某个位置值为0,则将该行该列的值都设为0
思路:
最直接的想法是,直接对数组进行遍历,遇到0则将该行该列都置0.但这样会导致重复和混乱。
再想到重新建立一个矩阵,新矩阵的值来记录该位置是原值还是0,但比较浪费空间O(m*n)。
考虑空间后,新建立一个O(m+n)的向量,用来存储对应行和列是否置零O(m+n)。
再考虑用首行和首列来存储对应行和列是否置零。而首行首列是否置零存储在外部连个变量里O(1).
代码(python):
class Solution(object): def setZeroes(self, matrix): """ :type matrix: List[List[int]] :rtype: void Do not return anything, modify matrix in-place instead. """ row = 1 col = 1 for i in range(len(matrix)): if matrix[i][0]==0: col = 0 break for j in range(len(matrix[0])): if matrix[0][j]==0: row = 0 break for i in range(len(matrix)): for j in range(len(matrix[0])): if matrix[i][j]==0: matrix[0][j] = 0 matrix[i][0] = 0 for i in range(len(matrix)-1): for j in range(len(matrix[0])-1): if matrix[0][j+1]==0 or matrix[i+1][0]==0: matrix[i+1][j+1] = 0 for i in range(len(matrix)): if col==0: matrix[i][0]=0 for j in range(len(matrix[0])): if row==0: matrix[0][j] = 0
阅读全文
1 0
- [LeetCode] Set Matrix Zeros
- [Leetcode] Set Matrix Zeros
- 【Leetcode】Set matrix zeros
- LeetCode - Set Matrix Zeros
- LeetCode---set-matrix-zeros
- [LeetCode] Set Matrix Zeros
- LeetCode--Set matrix zeros
- LeetCode 73:Set Matrix Zeros
- LeetCode - 73. Set Matrix Zeros
- leetcode-73 set matrix zeros
- LeetCode 题解(21): Set Matrix Zeros
- LeetCode刷题(39)--Set Matrix Zeros
- Set Matrix Zeros
- set matrix zeros
- set matrix zeros
- leetcode_073 Set Matrix Zeros
- 73-Set Matrix Zeros
- leetcode 73 Set Matrix Zeros 矩阵置零
- require() 源码解读
- snapshot
- 解决Mac上adb: command not found问题
- 解决PhpStorm卡顿的问题
- Android检测设备是否是模拟器
- LeetCode--Set matrix zeros
- 百度统计--优化的--做缓存
- SSM数据库账号密码加密
- 学了redis我能拿你做什么
- Android hideSoftInputFromWindow方法参数中flag如何选用
- RSA非对称加密和AES对称加密混合使用梳理
- async 函数的含义和用法
- 如何学习
- Oracle