码迷,mamicode.com
首页 > 其他好文 > 详细

面试题 01.08. 零矩阵

时间:2021-02-16 11:50:42      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:int   长度   商业   代码   etc   设置   著作权   mamicode   new   

面试题 01.08. 零矩阵

编写一种算法,若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]
]

作者:力扣 (LeetCode)
链接:https://leetcode-cn.com/leetbook/read/array-and-string/ciekh/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

class Solution {
    public void setZeroes(int[][] matrix) {
        if(matrix == null || matrix.length == 0 || matrix[0].length == 0) return;

        int m = matrix.length,n = matrix[0].length;    //行列的长度
        int[] rows = new int[m];   
        int[] colums = new int[n];    //这两行代码是记录  要是有0的话 这一列和这一行记录为1
        for(int i=0; i<m; i++){
            for(int j=0; j<n; j++){
                if(matrix[i][j] == 0){
                    rows[i] = 1;    //此行记录有0
                    colums[j] = 1;   //此列记录有0
                }
            }
        }
        for(int i=0; i<m; i++){
            for(int j=0; j<n; j++){
                if(rows[i]==1 || colums[j]==1) matrix[i][j] = 0;   //此行和此列设置为0
            }
        }
    }
}

技术图片

面试题 01.08. 零矩阵

标签:int   长度   商业   代码   etc   设置   著作权   mamicode   new   

原文地址:https://www.cnblogs.com/xiaofff/p/14398531.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!