您的位置:首页 > 产品设计 > UI/UE

[LeetCode] N-Queens II

2014-05-04 18:08 295 查看
Total Accepted: 6667 Total
Submissions: 21387

Follow up for N-Queens problem.

Now, instead outputting board configurations, return the total number of distinct solutions.



public class Solution {
public int totalNQueens(int n) {
int[] path = new int[n+1];

dfs(path, n, 0);

return path
;
}

public void dfs(int[] path, int n, int level) {
if (level == n) {
path
++;
return;
}

for (int i = 0; i < n; i++) {
path[level] = i;
if (check(path, level)) dfs(path, n, level + 1);
}
}

public boolean check(int[] path, int level) {
for (int i = 0; i < level; i++) {
if ((path[i]==path[level]) || Math.abs(path[i]-path[level]) == (level - i))
return false;
}

return true;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  LeetCode Recursion DFS