[Leetcode] N-Queens II (Java)
2014-01-08 17:09
375 查看
Follow up for N-Queens problem.
Now, instead outputting board configurations, return the total number of distinct solutions.
找出N皇后的解的个数,依然DFS
Now, instead outputting board configurations, return the total number of distinct solutions.
找出N皇后的解的个数,依然DFS
public class Solution { private int res=0; public int totalNQueens(int n) { char[][] chars = new char ; for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ chars[i][j]='.'; } } dfs(chars,0,n); return res; } private void dfs(char[][] chars,int index,int n){ if(index==n){ res++; return; } for(int i=0;i<chars[index].length;i++){ if(check(chars,index,i)){ chars[index][i]='Q'; dfs(chars,index+1, n); chars[index][i]='.'; } } } private boolean check(char[][] chars, int index, int pivot) { for(int i=0;i<index;i++){ if(chars[i][pivot]=='Q') return false; } for(int i=index-1, j=pivot-1;i>=0&&j>=0;i--,j--){ if(chars[i][j]=='Q') return false; } for(int i=index-1, j=pivot+1;i>=0&&j<chars[i].length;i--,j++){ if(chars[i][j]=='Q') return false; } return true; } }
相关文章推荐
- (Java)LeetCode-52. N-Queens II
- [LeetCode][Java] N-Queens II
- [LeetCode][Java] N-Queens II
- leetcode:N-Queens II 【Java】
- Java for LeetCode 052 N-Queens II
- LeetCode-52. N-Queens II (JAVA)(N皇后解集个数)
- leetcode String to Integer (atoi) java基本编程学习(二)
- [Leetcode] Longest Substring Without Repeating Characters (Java)
- LeetCode - N-Queens II
- 【leetcode with java】4 Median of Two Sorted Arrays
- java Queue Leetcode 513. Find Bottom Left Tree Value
- Word Search leetcode java
- [Leetcode][JAVA] Binary Tree Level Order Traversal
- [Leetcode] Minimum Window Substring (Java)
- 【LeetCode-面试算法经典-Java实现】【223-Rectangle Area(矩形区域)】
- 【LeetCode刷题Java版】Reverse Words in a String
- 【LeetCode-面试算法经典-Java实现】【005-Longest Palindromic Substring(最长回文子串)】
- Kth Largest Element in an Array LeetCode Java
- leetcode解题之203 # Remove Linked List Elements Java版(删除链表中的和val相等的元素)
- leetcode: Reverse Linked List(java)