LeetCode: Set Matrix Zeroes
来源:互联网 发布:java简单用户管理系统 编辑:程序博客网 时间:2024/04/29 20:48
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?
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] Set Matrix Zeroes
- LeetCode: Set Matrix Zeroes
- Leetcode: Set Matrix Zeroes
- [LeetCode] Set Matrix Zeroes
- [LeetCode]Set Matrix Zeroes
- [leetcode]Set Matrix Zeroes
- Leetcode:Set Matrix Zeroes
- LeetCode-Set Matrix Zeroes
- [leetcode] Set Matrix Zeroes
- LeetCode - Set Matrix Zeroes
- Set Matrix Zeroes leetcode
- 【Leetcode】Set Matrix Zeroes
- 【leetcode】Set Matrix Zeroes
- Leetcode: Set Matrix Zeroes
- Leetcode Set Matrix Zeroes
- LeetCode | Set Matrix Zeroes
- asp.net验证码
- Linux内核态抢占机制分析
- 关于spring集合对象的补充
- 2011-10-05 14:41:36 警告:ORA-00001: 违反唯一约束条件 (NC50.SYS_C005314)
- (进程间通信)IPC 信号(signal)基本函数实现的mysleep(unsined int)
- LeetCode: Set Matrix Zeroes
- 内核启动地址的确定
- json format
- 基础知识1
- VC++的链接错误LNK2005
- 基础知识2
- 编译器处理相关
- x264命令行参数解释
- ffmpeg 解码ts流示例