标签:leetcode java algorithms datastructure dp
Follow up for N-Queens problem.
Now, instead outputting board configurations, return the total number of distinct solutions.
Java Solutions( Refer to blog
http://blog.csdn.net/mbh_1991/article/details/23869459 and
http://blog.csdn.net/u011095253/article/details/9158473
):
public class Solution { int count; public int totalNQueens(int n) { count=0; int[] location=new int[n]; dfs(location,0,n); return count; } private void dfs(int[] location,int cur,int n){ if(cur==n) count++; else{ for(int i=0;i<n;i++){ location[cur]=i; if(isValid(location,cur)) dfs(location,cur+1,n); } } } private boolean isValid(int[] location,int cur){ for(int i=0;i<cur;i++){ if(location[i]==location[cur]||Math.abs(location[i]-location[cur])==cur-i) return false; } return true; } }
LeetCode Solutions : N-Queens II
标签:leetcode java algorithms datastructure dp
原文地址:http://blog.csdn.net/lviiii/article/details/38823873