【算法题】73. 矩阵置零

题目

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

示例 1:
输入:matrix = [[1,1,1],[1,0,1],[1,1,1]]
输出:[[1,0,1],[0,0,0],[1,0,1]]
示例 2:
输入:matrix = [[0,1,2,0],[3,4,5,2],[1,3,1,5]]
输出:[[0,0,0,0],[0,4,5,0],[0,3,1,0]]

提示:

m == matrix.length
n == matrix[0].length
1 <= m, n <= 200
-2^31 <= matrix[i][j] <= 2^31 - 1

进阶:

一个直观的解决方案是使用  O(mn) 的额外空间,但这并不是一个好的解决方案。
一个简单的改进方案是使用 O(m + n) 的额外空间,但这仍然不是最好的解决方案。
你能想出一个仅使用常量空间的解决方案吗?

题解

class Solution {
    public void setZeroes(int[][] matrix) {
        int m = matrix.length, n = matrix[0].length;
        boolean[] row = new boolean[m];
        boolean[] col = new boolean[n];
        for (int i = 0; i < m; i++) {
            for (int j = 0; j < n; j++) {
                if (matrix[i][j] == 0) {
                    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;
                }
            }
        }
    }
}

来自力扣官方题解 

相关推荐

  1. 算法73. 矩阵

    2024-01-27 07:00:03       29 阅读
  2. 73. 矩阵

    2024-01-27 07:00:03       33 阅读
  3. 73. 矩阵

    2024-01-27 07:00:03       31 阅读
  4. 73.矩阵

    2024-01-27 07:00:03       11 阅读
  5. 矩阵73. 矩阵

    2024-01-27 07:00:03       38 阅读
  6. 【中等】73. 矩阵

    2024-01-27 07:00:03       43 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-27 07:00:03       14 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-27 07:00:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-27 07:00:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-27 07:00:03       18 阅读

热门阅读

  1. spring(三):IOC介绍及代码实现

    2024-01-27 07:00:03       33 阅读
  2. Git使用

    Git使用

    2024-01-27 07:00:03      27 阅读
  3. 机器学习--基础概念(二)

    2024-01-27 07:00:03       33 阅读
  4. 常用命令-

    2024-01-27 07:00:03       23 阅读
  5. 面试 Vue 框架八股文十问十答第十二期

    2024-01-27 07:00:03       34 阅读
  6. openssl3.2/test/certs - 076 - critical unknown extension

    2024-01-27 07:00:03       32 阅读