function changeRowColumn(matrix: number[][], row: number, col: number) {
const rows: number = matrix.length;
const cols: number = matrix[0].length;
for (let j: number = 0; j < cols; j++) {
if (matrix[row][j] != 0) {
matrix[row][j] = -1;
}
}
for (let i: number = 0; i < rows; i++) {
if (matrix[i][col] != 0) {
matrix[i][col] = -1;
}
}
}
function changeBinaryMatrix(matrix: number[][]) {
const rows: number = matrix.length;
const cols: number = matrix[0].length;
if (rows == 0 || cols == 0) {
return;
}
for (let i: number = 0; i < rows; i++) {
for (let j: number = 0; j < cols; j++) {
if (matrix[i][j] == 0) {
changeRowColumn(matrix, i, j);
}
}
}
for (let i: number = 0; i < rows; i++) {
for (let j: number = 0; j < cols; j++) {
if (matrix[i][j] == -1) {
matrix[i][j] = 0;
}
}
}
}
function printMatrix(matrix: number[][]) {
const rows: number = matrix.length;
const cols: number = matrix[0].length;
for (let i: number = 0; i < rows; i++) {
let s = "";
for (let j: number = 0; j < cols; j++) {
s += matrix[i][j] + " ";
}
console.log(s);
}
}
const matrix: number[][] = [[1, 1, 0, 1, 1, 1],
[1, 1, 1, 1, 1, 1],
[1, 1, 0, 1, 1, 1],
[1, 1, 1, 1, 1, 1],
[1, 0, 1, 1, 1, 1]];
changeBinaryMatrix(matrix);
printMatrix(matrix);
/*
run:
"0 0 0 0 0 0 "
"1 0 0 1 1 1 "
"0 0 0 0 0 0 "
"1 0 0 1 1 1 "
"0 0 0 0 0 0 "
*/