leetcode 73. Set Matrix Zeroes-矩阵置零|数组
来源:互联网 发布:php冒泡排序法 编辑:程序博客网 时间:2024/06/05 15:20
原题链接:73. Set Matrix Zeroes【思路-Java】T=O(n)|M=O(n)建立一个大小为 n 的数组,用于记录第 j 列是否出现0
【思路2-Python】T=O(n)|M=O(1)题目建议最好使用常数空间,那么我们先扫描第一行,记录下第一行是否含有0。接着从第二行开始扫描,当扫描到0时,就将“该列出现0”的信息记录到第一行中,而不是新生成一个大小为 n 的boolean数组 :
public class Solution { public void setZeroes(int[][] matrix) { boolean[] flag = new boolean[matrix[0].length]; for(int i =0; i<matrix.length; i++) { boolean contains0 = false; for (int j =0; j < matrix[0].length; j++) { if(matrix[i][j] == 0) { contains0 = true; flag[j] = true; } } if(contains0) for(int j=0; j<matrix[0].length; j++) matrix[i][j] = 0; } for(int j = 0; j < matrix[0].length; j++) if(flag[j]) for(int i =0; i<matrix.length; i++) matrix[i][j] = 0; }}157 / 157 test cases passed. Runtime: 2 ms Your runtime beats 23.02% of javasubmissions.
【思路2-Python】T=O(n)|M=O(1)题目建议最好使用常数空间,那么我们先扫描第一行,记录下第一行是否含有0。接着从第二行开始扫描,当扫描到0时,就将“该列出现0”的信息记录到第一行中,而不是新生成一个大小为 n 的boolean数组 :
class Solution(object): def setZeroes(self, matrix): """ :type matrix: List[List[int]] :rtype: void Do not return anything, modify matrix in-place instead. """ firstRowContains0 = False for row in matrix[0] : if row == 0 : firstRowContains0 = True break for i in range(1,len(matrix)) : thisRowContains0 = False for j in range(0, len(matrix[0])) : if matrix[i][j] == 0 : thisRowContains0 = True matrix[0][j] = 0 if thisRowContains0 : for j in range(0, len(matrix[0])) : matrix[i][j] = 0 for j in range(len(matrix[0])) : if matrix[0][j] == 0 : for i in range(len(matrix)) : matrix[i][j] = 0 if firstRowContains0 : for j in range(len(matrix[0])) : matrix[0][j] = 0157 / 157 test cases passed. Runtime: 176 ms Your runtime beats 84.33% of pythonsubmissions.
1 0
- leetcode 73. Set Matrix Zeroes-矩阵置零|数组
- Leetcode 73. Set Matrix Zeroes 矩阵置零 解题报告
- leetcode Set Matrix Zeroes矩阵设置零
- (每日算法)LeetCode--Set Matrix Zeroes (矩阵置零)
- LeetCode-73 Set Matrix Zeroes(设置零矩阵)
- LeetCode-73. Set Matrix Zeroes (JAVA) 矩阵元素置0
- 【LeetCode-面试算法经典-Java实现】【070-Set Matrix Zeroes(矩阵置零)】
- [leetcode] 【数组】73. Set Matrix Zeroes
- [Lintcode] Set Matrix Zeroes矩阵归零
- LeetCode 数组 Set Matrix Zeroes
- LeetCode 73. Set Matrix Zeroes(矩阵清零)
- Set Matrix Zeroes 把一个矩阵置为0 @LeetCode
- [LeetCode]73.Set Matrix Zeroes
- LeetCode --- 73. Set Matrix Zeroes
- [Leetcode] 73. Set Matrix Zeroes
- [leetcode] 73.Set Matrix Zeroes
- 【leetcode】73. Set Matrix Zeroes
- [leetcode] 73. Set Matrix Zeroes
- Hibernate-Criteria查询(1)
- 关于浏览器的回退事件
- Linux命令学习
- 强悍的 Linux —— Linux 中 TTY 是什么意思
- 10grac修改public-ip vip-ip
- leetcode 73. Set Matrix Zeroes-矩阵置零|数组
- C#队列(Queue)
- Linux_2.6字符设备驱动实例
- 20、DOm--操纵元素属性
- Topcoder SRM 636 Div1 B
- RTKlib在C++builder中运行成功
- jQuery选择器大全整理
- SVN使用教程
- 将博客搬至CSDN