当前位置:首页 > 编程笔记 > 正文
已解决

73. 矩阵置零 --力扣 --JAVA

来自网友在路上 175875提问 提问时间:2023-11-02 19:05:30阅读次数: 75

最佳答案 问答题库758位专家为你答疑解惑

题目

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

解题思路

  1. 通过二层循环找出元素为0所在的行和列;
  2. 设置标志位记录当前行是否存在元素为0的,设置列表存储列为0的列;
  3. 在内循环结束后对存在元素为0的行,填充为0;
  4. 遍历列表,将列置为0;

代码展示

class Solution {public void setZeroes(int[][] matrix) {Set<Integer> row = new HashSet<>();for (int i = 0; i < matrix.length; i++){boolean status = false;for (int j = 0; j < matrix[i].length; j++){if(matrix[i][j] == 0){status = true;row.add(j);}}if(status){Arrays.fill(matrix[i], 0);}}for (int num : row){for (int i = 0; i < matrix.length; i++){matrix[i][num] = 0;}}}
}

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"73. 矩阵置零 --力扣 --JAVA":http://eshow365.cn/6-30450-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!