Back to all solutions
#2482 - Difference Between Ones and Zeros in Row and Column
Problem Description
You are given a 0-indexed m x n binary matrix grid.
A 0-indexed m x n difference matrix diff is created with the following procedure:
- Let the number of ones in the ith row be onesRowi.
- Let the number of ones in the jth column be onesColj.
- Let the number of zeros in the ith row be zerosRowi.
- Let the number of zeros in the jth column be zerosColj.
- diff[i][j] = onesRowi + onesColj - zerosRowi - zerosColj
Return the difference matrix diff.
Solution
/**
* @param {number[][]} grid
* @return {number[][]}
*/
var onesMinusZeros = function(grid) {
const rows = new Array(grid.length).fill(0);
const columns = new Array(grid[0].length).fill(0);
grid.forEach((row, r) => row.forEach((value, c) => {
rows[r] += value;
columns[c] += value;
}));
grid.forEach((row, r) => row.forEach((value, c) => {
grid[r][c] = 2 * rows[r] - grid.length + 2 * columns[c] - row.length;
}));
return grid;
};