当前位置:   article > 正文

矩阵置零_10*10矩阵将某一列设置为0

10*10矩阵将某一列设置为0

 

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

示例 1:

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

解法一:没有使用原地算法,思路首先遍历矩阵,将元素为零的行和列各自记录到一个Set集合中,然后重新遍历矩阵,凡是在行和列Set集合重出现的,都进行置零。

代码如下:

  1. public void setZeroes(int[][] matrix) {
  2. if(matrix == null)
  3. return ;
  4. Set<Integer> row = new HashSet<>();
  5. Set<Integer> col = new HashSet<>();
  6. for(int i = 0; i<matrix.length; i++){
  7. for(int j = 0; j<matrix[i].length; j++){
  8. if(matrix[i][j] == 0){
  9. row.add(i);
  10. col.add(j);
  11. }
  12. }
  13. }
  14. for(int i = 0; i<matrix.lengt
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/257038
推荐阅读
相关标签
  

闽ICP备14008679号