如果一个矩阵中出现了0,那么我们就把0所在行和列上数字都变为0。
样例:
输入:
输出:
代码实现:
public class Main {
public static void main(String[] args) {
int [][]matrix = {{1,1,1},{1,0,1},{1,1,1},{1,2,13}};
int row = matrix.length;//记录行
int col = matrix[0].length;//记录列
//定义数组用来记录哪一行那一列有0分别存储
int rowRecord[] = new int[row];
int colRecord[] = new int[col];
for(int i = 0; i < row; i++){
for(int j = 0; j < col; j++){
if(matrix[i][j] == 0){
rowRecord[i] = 1;
colRecord[j] = 1;
}
}
}
for(int k = 0; k < row; k++){
for(int q = 0; q < col; q++){
if(rowRecord[k] == 1 || colRecord[q] == 1){
matrix[k][q] = 0;
}
}
}
for(int i = 0; i < row; i++){
for(int j = 0; j < col; j++){
System.out.print(matrix[i][j]+"\t");
}
System.out.println("");
}
}
}