zoukankan      html  css  js  c++  java
  • 【7】清楚行列

    【题目】

    请编写一个算法,若N阶方阵中某个元素为0,则将其所在的行与列清零。
    给定一个N阶方阵int[][](C++中为vector>)mat和矩阵的阶数n,请返回完成操作后的int[][]方阵(C++中为vector>),保证n小于等于300,矩阵中的元素为int范围内。
    测试样例:
    [[1,2,3],[0,1,2],[0,0,1]]
    返回:[[0,0,3],[0,0,0],[0,0,0]]

    【代码】

    import java.util.*;
    
    
    
    public class Clearer {
        public int[][] clearZero(int[][] mat, int n) {
            
            boolean[] rowArr = new boolean[n];
            boolean[] colArr = new boolean[n];
            
            for(int i = 0; i < n; i++){
                for(int j = 0; j < n; j++){
                    if(mat[i][j] == 0){
                        rowArr[i] = true;
                        colArr[j] = true;
                    }
                }
            }
            
            
            for(int i = 0; i < n; i++){
                for(int j = 0; j < n; j++ ){
                    if(rowArr[i] || colArr[j]){
                        mat[i][j] = 0;
                    }
                }
            }
            
            return mat;
        }
    }

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

    给定一个N阶方阵int[][](C++中为vector<vector>)mat和矩阵的阶数n,请返回完成操作后的int[][]方阵(C++中为vector<vector>),保证n小于等于300,矩阵中的元素为int范围内。

    测试样例:
    [[1,2,3],[0,1,2],[0,0,1]]
    返回:[[0,0,3],[0,0,0],[0,0,0]]
  • 相关阅读:
    第二次冲刺 站立会议7
    第二次冲刺 站立会议6
    第二次冲刺 站立会议5
    第二次冲刺 站立会议4
    第二次冲刺 站立会议3
    第二次冲刺 站立会议2
    第二次冲刺 站立会议1
    第一次冲刺 站立会议9
    第一次冲刺 站立会议8
    第一次冲刺 站立会议7
  • 原文地址:https://www.cnblogs.com/noaman/p/6926045.html
Copyright © 2011-2022 走看看