LeetCode --- 52. N-Queens II
2015-03-07 10:49
405 查看
题目链接:N-Queens II
Follow up for N-Queens problem.
Now, instead outputting board configurations, return the total number of distinct solutions.
这道题的要求是返回N皇后问题总共有多少不同情况。
和N-Queens问题一样,同样的思路,至少这个是统计数量而已,代码也大部分都相同。
时间复杂度:O(???)
空间复杂度:O(n)
转载请说明出处:LeetCode --- 52. N-Queens II
Follow up for N-Queens problem.
Now, instead outputting board configurations, return the total number of distinct solutions.
这道题的要求是返回N皇后问题总共有多少不同情况。
和N-Queens问题一样,同样的思路,至少这个是统计数量而已,代码也大部分都相同。
时间复杂度:O(???)
空间复杂度:O(n)
[code] 1 class Solution 2 { 3 public: 4 int totalNQueens(int n) 5 { 6 vector<int> vi(n); 7 int res = 0; 8 solveNQueens(res, vi, n, 0); 9 return res; 10 } 11 12 private: 13 void solveNQueens(int &res, vector<int> &vi, int n, int c) 14 { 15 if(c == n) 16 { 17 ++ res; 18 return; 19 } 20 21 for(vi[c] = 0; vi[c] < n; ++ vi[c]) 22 if(safe(vi, n, c)) 23 solveNQueens(res, vi, n, c + 1); 24 } 25 26 bool safe(vector<int> &vi, int n, int c) 27 { 28 for(int i = 0; i < c; ++ i) 29 if(vi[i] == vi[c] || abs(vi[c] - vi[i]) == abs(c - i)) 30 return false; 31 return true; 32 } 33 };
转载请说明出处:LeetCode --- 52. N-Queens II
相关文章推荐
- leetcode: 52. N-Queens II
- LeetCode--52. N-Queens II
- 【一天一道LeetCode】#52. N-Queens II
- LeetCode-52. N-Queens II (JAVA)(N皇后解集个数)
- leetcode-52. N-Queens II
- Leetcode 52. N-Queens II
- <LeetCode OJ> 52. N-Queens II
- leetcode52. N-Queens II
- [LeetCode] 52. N-Queens II
- LeetCode 52. N-Queens II(N皇后问题Ⅱ)
- LeetCode 52. N-Queens II(N皇后)
- LeetCode 52. N-Queens II
- leetcode 52. N-Queens II
- LeetCode 52. N-Queens II
- leetcode-52. N-Queens II
- leetcode 52. N-Queens II
- Leetcode 51. N-Queens && 52. N-Queens II(Hard)
- LeetCode 52. N-Queens II
- [Leetcode] 52. N-Queens II
- 【LeetCode】52.N-Queens II(hard)解题报告