1. 程式人生 > >【7】清楚行列

【7】清楚行列

c++ cas test strong line logs arr 編寫 new

【題目】

請編寫一個算法,若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】清楚行列