LeetCode "N-Queens II"
2014-07-21 06:49
351 查看
Classic recursion\pruning problem. We can use O(n) space: A[i] = j means [i,j] is occupied.
View Code
class Solution { public: int ret; bool isValid(int *A, int r) { for (int i = 0; i < r; i++) if ((abs(A[i] - A[r]) == abs(i - r) || A[i] == A[r])) return false; return true; } void go(int *A, int r, int n) { if (r == n) { ret++; return; } for (int i = 0; i < n; i++) { A[r] = i; if (isValid(A, r)) go(A, r + 1, n); } } int totalNQueens(int n) { ret = 0; int *A = new int ; go(A, 0, n); delete[] A; return ret; } };
View Code
相关文章推荐
- LeetCode题解:N-Queens I and II
- 【LeetCode】N-Queens II N皇后问题 回溯法
- LeetCode "Find Minimum in Rotated Sorted Array II"
- [LeetCode]N-Queens I and II
- 52. N-Queens II Leetcode Python
- [Leetcode] N Queens I,II
- 【leetcode】N-Queens I & II
- LeetCode "Linked List Cycle II"
- LeetCode "Palindrome Partition II" - Double DP
- [LeetCode] N-Queens II N皇后问题之二
- Leetcode_n-queens-ii
- LeetCode "Combination Sum II"
- N-Queens II leetcode java
- LeetCode "Word Ladder II"
- LeetCode "Remove Duplicates from Sorted List II"
- 【LeetCode】N-Queens II && 【九度】题目1254:N皇后问题
- LeetCode "Populating Next Right Pointers in Each Node II"
- LeetCode "Reverse Linked List II"
- 52. N-Queens II Leetcode Python
- LeetCode - N-Queens I && II