description
- 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:1234567891011[ [".Q..", // Solution 1 "...Q", "Q...", "..Q."], ["..Q.", // Solution 2 "Q...", "...Q", ".Q.."]]
- instead outputting board configurations, return the total number of distinct solutions
题意与解法
题目的意思是说,找出n皇后全部的解,即满足每一个棋子所在的行,列,对角线上都没有其他棋子
解法:
将问题变小,找相同的规律:即第i个棋子只能在第i行上选择,而且每次选择后都要判断是否满足条件;那么求第i个棋子的位置时遍历第i行上的点,判断是否满足条件,满足则判断第i+1行,直到i+1越界返回;回溯…
子问题是在第i行中找到满足条件的位置
满足条件的判断这里我用一个标志矩阵来记录,每当遍历第i行的下一个位置时,回溯
|
|
关于第2问:返回n皇后的可能数
这里直接用一个num记录即可,代码如下:
|
|