public class Solution {
public int totalNQueens(int n) {
int[] matrix = new int[n+1];
count(matrix, n, 0);
return matrix[n];
}
public void count(int[] matrix, int n, int x){
if (x == n){
matrix[n]++;
return;
}
for (int y=0; y<n; y++){
matrix[x] = y;
if (check(matrix, x)){
count(matrix, n, x+1);
}
}
}
public boolean check(int[] matrix, int x){
for (int i=0; i<x; i++){
if (matrix[x] == matrix[i] || matrix[i]-i == matrix[x]-x || i+matrix[i] == matrix[x]+x ){
return false;
}
}
return true;
}
}
N-Queens II
最新推荐文章于 2022-06-06 10:35:33 发布