文章目录
leetcode73:73. 矩阵置零
题目描述
给定一个 m x n
的矩阵,如果一个元素为 0
,则将其所在行和列的所有元素都设为 0
。请使用原地算法.
Example
输入:[
[1,1,1],
[1,0,1],
[1,1,1]
]
输出:[
[1,0,1],
[0,0,0],
[1,0,1]
]
solution idea
暴力规则处理
class Solution {
public:
void setZeroes(vector<vector<int>>& matrix) {
vector<vector<int>> index; // 存储 0对应的行,列
int m=matrix.size(),n=matrix[0].size();
for(int i=0;i<m;i++)
for(int j=0;j<n;j++)
if(matrix[i][j]==0) index.push_back({i,j});
for(int i=0;i<index.size();i++) //遍历所有 索引
{
for(int j=0;j<n;j++)
{
matrix[index[i][0]][j]=0;
}
for(int j=0;j<m;j++)
{
matrix[j][index[i][1]]=0;
}
}
}
};
参考文献
- c++ prime 第5版