首页 > 代码库 > [LeetCode] NQueen

[LeetCode] NQueen

public class Solution {    public int totalNQueens(int n) {        if (n<=0) return 0;        int [] locations;        locations = new int[n];        return findNQueens(locations, 0);            }            public int findNQueens(int [] locations, int row) {        if (row == locations.length) {            //printNQueens(locations);            return 1;        }        int result = 0;        for(int i=0; i<locations.length; i++) {            if (check(locations, row, i)) {                locations[row] = i;                result += findNQueens(locations, row+1);            }        }        return result;    }    public boolean check(int [] locations, int row, int clom) {        for (int i=0; i<row; i++) {            if (locations[i] == clom) return false;            if (locations[i]+i == row+clom) return false;            if (i-locations[i] == row-clom) return false;        }        return true;    }}

 

[LeetCode] NQueen