题目描述
题解
回溯算法
思路就是DFS加剪枝, 碰到不符合要求的行就回退.
比较麻烦的是设置已利用的路径. 如果采用了某一个位置, 那么该行该列该斜方向的位置都不能再放置
一开始打算用一个boolean[n][n]
矩阵来表示已经使用过的位置, 但是需要循环将整行的位置改为true
, 所以用三个向量分别表示该列, 该主对角线, 该副对角线.
1 | class Solution { |
思路就是DFS加剪枝, 碰到不符合要求的行就回退.
比较麻烦的是设置已利用的路径. 如果采用了某一个位置, 那么该行该列该斜方向的位置都不能再放置
一开始打算用一个boolean[n][n]
矩阵来表示已经使用过的位置, 但是需要循环将整行的位置改为true
, 所以用三个向量分别表示该列, 该主对角线, 该副对角线.
1 | class Solution { |
微信支付
支付宝