Leetcode 73. Set Matrix Zeroes
来源:互联网 发布:apache转发至python 编辑:程序博客网 时间:2024/06/01 10:25
题目
Given a m x n matrix, if an element is 0, set its entire row and column to 0. Do it in place.
Follow up:
Did you use extra space?
A straight forward solution using O(mn) space is probably a bad idea.
A simple improvement uses O(m + n) space, but still not the best solution.
Could you devise a constant space solution?
思路
第一行以及第一列存储该行或者该列是否有0。扫描整个数组,得到第一行或者第一列。再扫描第一行以及第一列,将为0的行或者列全部设置为0
代码
package leetcodeArray;public class Leetcode73SetMatrixZeroes { public void setZeroes(int[][] matrix) { boolean fr = false, fc = false; for(int i = 0; i < matrix.length; ++i){ for(int j = 0; j < matrix[0].length; ++j){ if(matrix[i][j] == 0){ if(i == 0) fr = true; if(j == 0) fc = true; matrix[i][0] = 0; matrix[0][j] = 0; } } } for(int i = 1; i < matrix.length; ++i){ if(matrix[i][0] == 0){ for(int j = 1; j < matrix[0].length; ++j) matrix[i][j] = 0; } } for(int j = 1; j < matrix[0].length; ++j){ if( matrix[0][j] == 0){ for(int i = 1; i < matrix.length; ++i) matrix[i][j] = 0; } } if(fr) { for(int j = 0; j < matrix[0].length; j++) { matrix[0][j] = 0; } } if(fc) { for(int i = 0; i < matrix.length; i++) { matrix[i][0] = 0; } } }}
他山之玉
void setZeroes(vector<vector<int> > &matrix) { int col0 = 1, rows = matrix.size(), cols = matrix[0].size(); for (int i = 0; i < rows; i++) { if (matrix[i][0] == 0) col0 = 0; for (int j = 1; j < cols; j++) if (matrix[i][j] == 0) matrix[i][0] = matrix[0][j] = 0; } for (int i = rows - 1; i >= 0; i--) { for (int j = cols - 1; j >= 1; j--) if (matrix[i][0] == 0 || matrix[0][j] == 0) matrix[i][j] = 0; if (col0 == 0) matrix[i][0] = 0; }}
阅读全文
0 0
- [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
- Leetcode 73. Set Matrix Zeroes
- LeetCode 73. Set Matrix Zeroes
- LeetCode 73. Set Matrix Zeroes
- 73. Set Matrix Zeroes 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
- [LeetCode]73. Set Matrix Zeroes
- LeetCode-73. Set Matrix Zeroes
- leetcode 53. Maximum Subarray
- maven 仓库配置 pom中repositories属性
- oracel dblink的简单使用
- Choosing a classification Algorithm
- 51nod 1413 权势二进制
- Leetcode 73. Set Matrix Zeroes
- 问题 C: QAQ & 火星情报局
- API学习Scanner
- linux系统进程管理常用命令
- 模拟模拟交易系统(一)——需求分析
- hdu 6097 Mindis(几何反演)
- eclipse java EE经典绿色版 以及连接远程数据库java代码
- 在tomcat调试成功后在浏览器进入页面的路径
- Mindis(hdu6097)