Set Matrix Zeroes
来源:互联网 发布:媳妇当车模 知乎 编辑:程序博客网 时间:2024/05/18 00:37
-----QUESTION-----
Given a
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
Could you devise a constant space solution?
-----SOLUTION-----
class Solution {public: void setZeroes(vector<vector<int> > &matrix) { if(matrix.empty()) return; bool firstLineZero = false; bool firstColumnZero = false; if(matrix[0][0]==0){ firstLineZero = true; firstColumnZero = true; } //the first line for(int i = 1; i<matrix[0].size(); i++) { if(matrix[0][i]!=0) continue; firstLineZero = true; break; } //the first column for(int i = 1; i<matrix.size(); i++) { if(matrix[i][0]!=0) continue; firstColumnZero = true; break; } for(int i = 1; i < matrix.size(); i++) { for(int j = 1; j<matrix[0].size(); j++) { if(matrix[i][j] != 0) continue; matrix[i][0] = 0; matrix[0][j] = 0; } } for(int i = 1; i<matrix[0].size(); i++) { if(matrix[0][i]!=0) continue; for(int j = 1; j<matrix.size(); j++) { matrix[j][i]=0; } } for(int i = 1; i<matrix.size(); i++) { if(matrix[i][0]!=0) continue; for(int j = 1; j<matrix[0].size(); j++) { matrix[i][j]=0; } } if(firstLineZero) { for(int i = 0 ; i< matrix[0].size(); i++) { matrix[0][i] = 0; } } if(firstColumnZero) { for(int i = 0 ; i< matrix.size(); i++) { matrix[i][0] = 0; } }}};
0 0
- LeetCode: Set Matrix Zeroes
- Set Matrix Zeroes
- Set Matrix Zeroes
- LeetCode Set Matrix Zeroes
- [Leetcode] Set Matrix Zeroes
- LeetCode: Set Matrix Zeroes
- Set Matrix Zeroes
- Leetcode: Set Matrix Zeroes
- [LeetCode] Set Matrix Zeroes
- Set Matrix Zeroes
- Set Matrix Zeroes
- [LeetCode]Set Matrix Zeroes
- Set Matrix Zeroes
- Set Matrix Zeroes
- Set Matrix Zeroes
- [leetcode]Set Matrix Zeroes
- Leetcode:Set Matrix Zeroes
- Set Matrix Zeroes
- 数组和内存控制
- INT类型位数的理解
- jQuery animate方法开发极客标签Logo动画融合效果
- AlertDialog对话框的使用
- sqoop源码编译
- Set Matrix Zeroes
- Singleton模式目前看到的最好的文章
- wince PB6.0过期解决方法
- FreeType 2 教程(一)——《The FreeType 2 Tutorial
- c# WebClient.DownloadFile文件下载方法
- 表达式计算
- Edit Distance
- 指针做形参做局部变量及内存分配
- FLEX 1046: 找不到类型,或者它不是编译时常数