Find Winner on a Tic Tac Toe Game LeetCode solution in JavaScript

1
/**
2
* @param {number[][]} moves
3
* @return {string}
4
*/
5
let validate = (arr) => {
6
let set = [...new Set(arr)];
7
return set.length == 1 && set[0] != 0;
8
};
9

10
var tictactoe = function (moves) {
11
let grid = [
12
[0, 0, 0],
13
[0, 0, 0],
14
[0, 0, 0],
15
];
16
for (let i in moves) {
17
let [x, y] = moves[i];
18
grid[x][y] = i % 2 == 1 ? -1 : 1;
19
if (
20
validate(grid[x]) ||
21
validate(grid.reduce((prev, curr) => [...prev, curr[y]], [])) ||
22
validate([grid[0][0], grid[1][1], grid[2][2]]) ||
23
validate([grid[0][2], grid[1][1], grid[2][0]])
24
)
25
return i % 2 ? "B" : "A";
26
}
27
return moves.length == 9 ? "Draw" : "Pending";
28
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0