LeetCode第五十一题-N皇后

Posted lalalaczq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode第五十一题-N皇后相关的知识,希望对你有一定的参考价值。

N-Queens

问题简介:给定一个n*n的棋盘,求解如何将n个皇后放置在棋盘上, 保证其之间不互相攻击,即给定一个整数 n,返回所有不同的解决方案,用 ‘Q’ 和 ‘.’ 分别代表了皇后和空位

注:例如下图为n = 8 时的一个解

技术图片

举例:

输入: 4

输出: [

[".Q…", // Solution 1

“…Q”,

“Q…”,

“…Q.”],

["…Q.", // Solution 2

“Q…”,

“…Q”,

“.Q…”]

]

解法一:

利用递归,首先从第一行元素开始,逐行扫描判断,主要的关注点在于判断Q值的同列,斜向上是否有Q值,这里赋予值1代表’Q’值及’.‘为0,当判断斜向时,从左上到右下的方向上(x - y)值固定,从左下到右上的方向上(x + y)值固定,(x,y即横纵坐标),最后要注意递归时,值的清理

技术图片

小白刷题之路,请多指教— — 要么大器晚成,要么石沉大海

技术图片

以上是关于LeetCode第五十一题-N皇后的主要内容,如果未能解决你的问题,请参考以下文章

[LeetCode] N皇后问题

《剑指offer》第五十一题(数组中的逆序对)

leetcode刷题五十一

leetcode刷题五十一

leetcode刷题五十一

leetcode刷题五十一