LeetCode || N-Queens II
2015-09-08 20:05
477 查看
使用全排列的思路,效率很低。
class Solution { public: bool QueenOrderOK(const vector<int>& q) { for(int i = 0 ;i<q.size();i++) { for(int j = i+1;j<q.size();j++) { if(i - j == q[i] - q[j] || j - i == q[i] - q[j]) return false; } } return true; } void GetAllQueens(vector<int>& q, int start, int& QueensNum) { if(start == q.size()) { //check if(QueenOrderOK(q)) QueensNum++; } for(int i = start; i < q.size();i++) { //swap i & start int tmp = q[i]; q[i] = q[start]; q[start] = tmp; GetAllQueens(q, start+1, QueensNum); tmp = q[i]; q[i] = q[start]; q[start] = tmp; } } int totalNQueens(int n) { vector<int> q; q.resize(n); for(int i = 0;i<n;i++) q[i] = i; int num = 0; GetAllQueens(q, 0, num); return num; } };
相关文章推荐
- 把一个数组遍历倒序放到另一个数组中,数组取值是c:out value
- SPOJ 375 QTREE Query on a tree 树链剖分水题
- IOS_UI_Animation
- poj3614 priority queue
- IOS_UI_Block 传值
- EasyUI单击行数据时动态编写editor
- UIImagePickerController 详解
- IOS_UITableViewController 视图控制器的生命周期
- IOS_UITabBarController
- [POJ3061]Subsequence
- UvaLive 4287 Proving Equivalences 强连通缩点
- hibernate.Query查询
- UITextField 使用
- iOS:UITableViewCell自定义单元格
- AbstractQueuedSynchronizer的实现分析(下)
- 解决ios9 中UITableView 的Cell 自动缩进问题
- AbstractQueuedSynchronizer的实现分析(上)
- iOS获取UUID,并使用keychain存储
- hdu 1005 Number Sequence
- Android Bluetooth Stack: Bluedroid(五岁以下儿童):The analysis of A2DP Source