Magic Squares In Grid LeetCode solution in JavaScript

1
var numMagicSquaresInside = function (grid) {
2
let res = 0;
3
for (let i = 0; i < grid.length - 2; i++) {
4
for (let j = 0; j < grid[0].length - 2; j++) {
5
//only check 4
6
if (
7
grid[i][j] + grid[i][j + 1] + grid[i][j + 2] == 15 &&
8
grid[i][j] + grid[i + 1][j] + grid[i + 2][j] == 15 &&
9
grid[i][j] + grid[i + 1][j + 1] + grid[i + 2][j + 2] == 15 &&
10
grid[i + 2][j] + grid[i + 2][j + 1] + grid[i + 2][j + 2] == 15
11
) {
12
let set = new Set();
13
for (let a = i; a <= i + 2; a++) {
14
for (let b = j; b <= j + 2; b++) {
15
if (grid[a][b] >= 1 && grid[a][b] <= 9) set.add(grid[a][b]);
16
}
17
}
18
if (set.size === 9) res++;
19
}
20
}
21
}
22
return res;
23
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0