当前位置:网站首页>73. 矩阵置零(标记法)

73. 矩阵置零(标记法)

2022-06-12 17:32:00 杨鹏伟

题目: 矩阵置零 给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。

思路:先设置两个数组分别标记哪一行,哪一列上有为0的元素,然后遍历矩阵,将符合条件的标记为0即可。

code

class Solution {
public:
    void setZeroes(vector<vector<int>>& matrix) {
        int m = matrix.size();
        int n = matrix[0].size();
        vector<int> row(m), col(n);
        for (int i = 0; i < m; i++) {
            for (int j = 0; j < n; j++) {
                if (!matrix[i][j]) {
                    row[i] = col[j] = true;
                }
            }
        }
        for (int i = 0; i < m; i++) {
            for (int j = 0; j < n; j++) {
                if (row[i] || col[j]) {
                    matrix[i][j] = 0;
                }
            }
        }
    }
};
原网站

版权声明
本文为[杨鹏伟]所创,转载请带上原文链接,感谢
https://cloud.tencent.com/developer/article/2020945