Flip Columns For Maximum Number of Equal Rows LeetCode solution in JavaScript

1
var maxEqualRowsAfterFlips = function (matrix) {
2
const m = matrix.length;
3
const n = matrix[0].length;
4
const map = new Map();
5
let max = 0;
6

7
for (let i = 0; i < m; i++) {
8
let normal = 0;
9
let reversed = 0;
10

11
for (let j = 0; j < n; j++) {
12
normal = (normal << 1) | matrix[i][j];
13
reversed = (reversed << 1) | (1 - matrix[i][j]);
14
}
15

16
if (!map.has(normal)) map.set(normal, 0);
17
map.set(normal, map.get(normal) + 1);
18
max = Math.max(max, map.get(normal));
19

20
if (!map.has(reversed)) map.set(reversed, 0);
21
map.set(reversed, map.get(reversed) + 1);
22
max = Math.max(max, map.get(reversed));
23
}
24

25
return max;
26
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0