题目:力扣
编写一种算法,若M × N矩阵中某个元素为0,则将其所在的行与列清零。
示例 1:
输入:
[
[1,1,1],
[1,0,1],
[1,1,1]
]
输出:
[
[1,0,1],
[0,0,0],
[1,0,1]
]
示例 2:
输入:
[
[0,1,2,0],
[3,4,5,2],
[1,3,1,5]
]
输出:
[
[0,0,0,0],
[0,4,5,0],
[0,3,1,0]
]
官方题解:力扣
- //最简单的标记法
- class Solution {
- public:
- int a[100005] , b[100005];
- void setZeroes(vector
int >>& matrix) { - int n = matrix.size() , m = matrix[0].size();
- for(int i = 0 ; i < n ; i ++ )
- {
- for(int j = 0 ; j < m ; j ++ )
- {
- if( !matrix[i][j] ) a[i]=1 , b[j] = 1;
- }
- }
- for(int i = 0 ; i < n ; i ++ )
- {
- for(int j = 0 ; j < m ; j ++ )
- {
- if( a[i] || b[j] ) matrix[i][j]=0;
- }
- }
- }
- };