[LeetCode] 73. Set Matrix Zeroes
来源:互联网 发布:程序员的自我修养 git 编辑:程序博客网 时间:2024/06/05 19:49
73. Set Matrix Zeroes
Description
Given a m x n matrix, if an element is 0, set its entire row and column to 0. Do it in place.
Algorithm
这题要求里面空间效率比较重要。
最暴力的就是
稍微思考一下可以用
恰好前几天看到一点Dancing Links有一点启发:
用每列的第一个元素
matrix[0][i] 标记该列是否为0.
除第一行外的每一行用第一个元素matrix[i][0] 来标记该行是否为0.
再单独用一个变量标记第一行是否为0即可。
class Solution {public: void setZeroes(vector<vector<int>>& matrix) { int head = 1; int m = matrix.size(); int n = matrix[0].size(); for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { if (matrix[i][j] == 0) { // row if (i == 0) head = 0; else matrix[i][0] = 0; // column matrix[0][j] = 0; } } } for (int i = 1; i < m; i++) { if (matrix[i][0] == 0) { for (int j = 1; j < n; j++) matrix[i][j] = 0; } } for (int i = 0; i < n; i++) { if (matrix[0][i] == 0) { for (int j = 1; j < m; j++) matrix[j][i] = 0; } } if (head == 0) { for (int i = 0; i < n; i++) matrix[0][i] = 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
- [AHOI2014]支线剧情 bzoj3876
- 2017 WHUWT Day1 (Div. 2) (dfs+bfs //待更新C
- 《把时间当作朋友》读书笔记
- Android 仿相机拍照 录像功能
- mybatis 的批量更新
- [LeetCode] 73. Set Matrix Zeroes
- Java 循环
- [LINUX] 防火墙开关
- 机器学习笔记(一):梯度下降算法,随机梯度下降,正规方程
- 贴吧水笔你和我
- 自控力—凯利.麦格尼格尔—【读书笔记】
- 并查集
- 二、Unity Shader顶点变换总结
- 桥接模式 Bridge