零矩阵 清空所有的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;
        }
    }
}

};

⚠️ **GitHub.com Fallback** ⚠️