【LeetCode】051. N-Queens
题目:
The n-queens puzzle is the problem of placing n queens on an n×n chessboard such that no two queens attack each other.

Given an integer n, return all distinct solutions to the n-queens puzzle.
Each solution contains a distinct board configuration of the n-queens' placement, where 'Q' and '.' both indicate a queen and an empty space respectively.
For example,
There exist two distinct solutions to the 4-queens puzzle:
[
[".Q..", // Solution 1
"...Q",
"Q...",
"..Q."], ["..Q.", // Solution 2
"Q...",
"...Q",
".Q.."]
]
题解:
class Solution {
public:
    void dfs(vector<vector<string>>& res, vector<string>& v, int n, vector<int>& pos, int row) {
         if(row >= n) {
             res.push_back(v);
             return;
         }
         for(int col=; col<n; ++col) {
            if (!isValid(pos, row, col)) {
                continue;
            }
            v[row][col] = 'Q';
            pos[row] = col;
            dfs(res, v, n, pos, row + );
            pos[row] = -;
            v[row][col] = '.';
         }
    }
    bool isValid(vector<int>& pos, int row, int col) {
        for (int i = ; i < row; ++i) {
            if (pos[i] == col || abs(row - i) == abs(col - pos[i])) {
                return false;
            }
        }
        return true;
    }
    vector<vector<string>> solveNQueens(int n) {
        vector<vector<string>> res;
        vector<string> v(n, string(n, '.'));
        vector<int> pos(n, -);
        dfs(res, v, n, pos, );
        return res;
    }
};
【LeetCode】051. N-Queens的更多相关文章
- 【LeetCode】Minimum Depth of Binary Tree   二叉树的最小深度 java
		
[LeetCode]Minimum Depth of Binary Tree Given a binary tree, find its minimum depth. The minimum dept ...
 - 【Leetcode】Pascal's Triangle II
		
Given an index k, return the kth row of the Pascal's triangle. For example, given k = 3, Return [1,3 ...
 - 53. Maximum Subarray【leetcode】
		
53. Maximum Subarray[leetcode] Find the contiguous subarray within an array (containing at least one ...
 - 27. Remove Element【leetcode】
		
27. Remove Element[leetcode] Given an array and a value, remove all instances of that value in place ...
 - 【刷题】【LeetCode】007-整数反转-easy
		
[刷题][LeetCode]总 用动画的形式呈现解LeetCode题目的思路 参考链接-空 007-整数反转 方法: 弹出和推入数字 & 溢出前进行检查 思路: 我们可以一次构建反转整数的一位 ...
 - 【刷题】【LeetCode】000-十大经典排序算法
		
[刷题][LeetCode]总 用动画的形式呈现解LeetCode题目的思路 参考链接 000-十大经典排序算法
 - 【leetcode】893. Groups of Special-Equivalent Strings
		
Algorithm [leetcode]893. Groups of Special-Equivalent Strings https://leetcode.com/problems/groups-o ...
 - 【leetcode】657. Robot Return to Origin
		
Algorithm [leetcode]657. Robot Return to Origin https://leetcode.com/problems/robot-return-to-origin ...
 - 【leetcode】557. Reverse Words in a String III
		
Algorithm [leetcode]557. Reverse Words in a String III https://leetcode.com/problems/reverse-words-i ...
 
随机推荐
- TRUNCATE 不能引发触发器
			
我在使用phpmyadmin清空时发现这个问题
 - HTML5之Canvas绘图(二) ——应用篇之七巧板
			
1.canvas绘制七巧板-- <!DOCTYPE html> <html> <head> <meta charset="UTF-8"&g ...
 - 高速修复汉澳sinox命令解释程序bash shell漏洞
			
bash是linux默认命令行管理程序shell.汉澳 sinox也安装有,尽管sinox并没有默认使用bash.可是用户一旦使用就会可能被通过漏洞入侵,所以必须高速修复.尽管sinox使用freeb ...
 - SQLite集成与用法
			
本文转载至 http://cn.cocos2d-x.org/article/index?type=cocos2d-x&url=/doc/cocos-docs-master/manual/fra ...
 - python 基础 4.2 高阶函数上
			
一.高阶函数 把函数当做参数传递的一种函数 1>map()函数 map函数是python内置的一个高阶函数,它接受一个函数f和一个list,并把list元素以此传递给函数f,然后返回一个函数 ...
 - cf-341C Iahub and Permutations
			
C. Iahub and Permutations time limit per test 1 second memory limit per test 256 megabytes input sta ...
 - HttpClient 访问 https 出现peer can't
			
package util; import java.security.cert.CertificateException; import javax.net.ssl.SSLContext;import ...
 - 九度OJ 1063:整数和 (基础题)
			
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:3456 解决:2254 题目描述: 编写程序,读入一个整数N. 若N为非负数,则计算N到2N之间的整数和: 若N为一个负数,则求2N到N之间 ...
 - 九度OJ 1047:素数判定 (素数)
			
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:9583 解决:4347 题目描述: 给定一个数n,要求判断其是否为素数(0,1,负数都是非素数). 输入: 测试数据有多组,每组输入一个数n ...
 - 操作符表示指针指向的底层值 切片 nill  清空  按值引用赋值    获取地址赋值
			
package main import "fmt" var thisVisitedUrls [] string func tf() { p := &thisVisitedU ...