零矩阵 清空所有的0所在的行和列(vector先找到对应元素i,j下标) - lifengyu360/lifengyu_first_git_test GitHub Wiki
编写一种算法,若M × N矩阵中某个元素为0,则将其所在的行与列清零。 class Solution {
public:
struct Info{
int i;
int j;
};
void setZeroes(vector<vector<int>>& matrix) {
int m = matrix.size();
int n = matrix[0].size();
vector<Info> all_info;
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++){
if (matrix[i][j] == 0) {
Info tmp;
tmp.i = i;
tmp.j = j;
all_info.push_back(tmp);
}
}
}
for (int i = 0; i < all_info.size(); i++){
Info tmp = all_info[i];
int i_new = tmp.i;
int j_new = tmp.j;
for (int x = 0; x < m; x++){
matrix[x][j_new] = 0;
}
for (int x = 0; x < n; x++){
matrix[i_new][x] = 0;
}
}
}
};