题目描述

题解
回溯算法

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


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