N-Queens II LeetCode solution in Java

1
class Solution {
2
int count = 0;
3

4
public int totalNQueens(int n) {
5
boolean col[] = new boolean[n];
6
boolean diag[] = new boolean[2 * n - 1];
7
boolean rdiag[] = new boolean[2 * n - 1];
8

9
countSolution(n, col, diag, rdiag, 0);
10
return count;
11
}
12

13
void countSolution(int n, boolean[] col, boolean[] diag, boolean[] rdiag, int r) {
14
if (r == n) {
15
count++;
16
return;
17
}
18

19
for (int c = 0; c < n; c++) {
20
if (col[c] == false && diag[r + c] == false && rdiag[r - c + n - 1] == false) {
21
col[c] = true;
22
diag[r + c] = true;
23
rdiag[r - c + n - 1] = true;
24
countSolution(n, col, diag, rdiag, r + 1);
25
col[c] = false;
26
diag[r + c] = false;
27
rdiag[r - c + n - 1] = false;
28
}
29
}
30
}
31
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0