美文网首页
面试题 01.08. 零矩阵(难度:中等)

面试题 01.08. 零矩阵(难度:中等)

作者: 一直流浪 | 来源:发表于2023-06-26 15:11 被阅读0次

题目链接:https://leetcode.cn/problems/zero-matrix-lcci/

题目描述:

编写一种算法,若M × N矩阵中某个元素为0,则将其所在的行与列清零。

示例 1:

输入:
[
  [1,1,1],
  [1,0,1],
  [1,1,1]
]
输出:
[
  [1,0,1],
  [0,0,0],
  [1,0,1]
]

示例 2:

输入:
[
  [0,1,2,0],
  [3,4,5,2],
  [1,3,1,5]
]
输出:
[
  [0,0,0,0],
  [0,4,5,0],
  [0,3,1,0]
]

解法:

我们可以使用两个set集合row和col来分别统计存在0的行和列。遍历二维数组matrix,当元素为0时,就在row和col中添加所在的行和列。

再次遍历二维数组,若元素所在行或者列出现在row和col中,则将元素置为0。

代码:

class Solution {
    public void setZeroes(int[][] matrix) {
        Set<Integer> row = new HashSet<>();
        Set<Integer> col = new HashSet<>();    

        for(int i = 0;i<matrix.length;i++) {
            for(int j=0;j<matrix[i].length;j++) {
                if(matrix[i][j] == 0) {
                    row.add(i);
                    col.add(j);
                }
            }
        }

        for(int i = 0;i<matrix.length;i++) {
            for(int j=0;j<matrix[i].length;j++) {
                if(row.contains(i) || col.contains(j)) {
                    matrix[i][j] = 0;
                }
            }
        }
    }
}

相关文章

  • 面试题 01.08. 零矩阵

    题目描述 编写一种算法,若M × N矩阵中某个元素为0,则将其所在的行与列清零。 关键词:矩阵的输入与输出,二维数...

  • 面试题 01.08. 零矩阵

    编写一种算法,若M × N矩阵中某个元素为0,则将其所在的行与列清零。 示例 1: 示例 2: 来源:力扣(Lee...

  • 要成功就做一百题-91

    题目名称 矩阵置零 描述 难度属于中等,如下是题目的描述,leetcode 73题。 解题思路 这里我也没用其他复...

  • 旋转图像

    更多精彩内容,请关注【力扣中等题】。 题目 难度:★★★☆☆类型:二维矩阵,几何方法:矩阵操作 给定一个 n × ...

  • 【LintCode 题解】819. 【中等】单词排序

    难度:中等 Facebook 面试题 题目 给一个新的字母表,如 {c, b, a, d, e, f, g, h,...

  • LeetCode 力扣 74. 搜索二维矩阵

    题目描述(中等难度) 判断一个矩阵中是否存在某个数,矩阵是有序的。 解法一 二分法 看到了有序序列,啥都不用想直接...

  • LeetCode-python 73.矩阵置零

    题目链接难度:中等 类型: 数组 给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在...

  • LeetCode-python 74.搜索二维矩阵

    题目链接难度:中等 类型: 数组、二分查找 编写一个高效的算法来判断 m x n 矩阵中,是否存...

  • 【LintCode 题解】808. 【中等】影际网络

    难度:中等 标签:优先队列、二叉查找树、深度优先搜索 Amazon 面试题 题目 给一些 movie(编号从 0 ...

  • 【LintCode 题解】842. 【中等】折纸

    难度:中等 Microsoft 面试题 题目 折纸,每次都是将纸从右向左对折,凹痕为 0,凸痕为 1,求折 n 次...

网友评论

      本文标题:面试题 01.08. 零矩阵(难度:中等)

      本文链接:https://www.haomeiwen.com/subject/tkydartx.html