LeetCode: Set Matrix Zeroes
2012-10-09 00:10
459 查看
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?
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?
class Solution { public: void setZeroes(vector<vector<int> > &matrix) { // Start typing your C/C++ solution below // DO NOT write int main() function int m = matrix.size(); if (m == 0) return; int n = matrix[0].size(); if (n == 0) return; bool isFirstRowZero = false; bool isFirstColZero = false; for (int i = 0; i < n; ++i) { if (matrix[0][i] == 0) { isFirstRowZero = true; break; } } for (int i = 0; i < m; ++i) { if (matrix[i][0] == 0) { isFirstColZero = true; break; } } for (int i = 1; i < m; ++i) { for (int j = 1; j < n; ++j) { if (matrix[i][j] == 0) { matrix[0][j] = 0; matrix[i][0] = 0; } } } for (int i = 1; i < m; ++i) { for (int j = 1; j < n; ++j) { if (matrix[0][j] == 0 || matrix[i][0] == 0) matrix[i][j] = 0; } } if (isFirstRowZero) { for (int i = 0; i < n; ++i) matrix[0][i] = 0; } if (isFirstColZero) { for (int i = 0; i < m; ++i) matrix[i][0] = 0; } } };
相关文章推荐
- LeetCode_Set Matrix Zeroes
- [LeetCode] Set Matrix Zeroes
- leetcode 43: Set Matrix Zeroes
- [LeetCode] 73. Set Matrix Zeroes 解题思路
- LeetCode - Set Matrix Zeroes
- LeetCode073 Set Matrix Zeroes
- [C语言][LeetCode][73]Set Matrix Zeroes
- Leetcode20: Set Matrix Zeroes
- [LeetCode] Set Matrix Zeroes 解题报告
- 《leetCode》:Set Matrix Zeroes
- Leetcode-set-matrix-zeroes
- leetcode — set-matrix-zeroes
- leetcode 73 Set Matrix Zeroes
- LeetCode——Set Matrix Zeroes
- [LeetCode]Set Matrix Zeroes
- 73 leetcode - Set Matrix Zeroes
- [LeetCode]Set Matrix Zeroes
- Leetcode:73.Set Matrix Zeroes
- Leetcode Set Matrix Zeroes
- [leetcode-73]Set Matrix Zeroes(C语言)