class Solution {
public List<List<String>> solveNQueens(int n) {
final List<List<String>> lists = new ArrayList<>();
int[] nums = new int[n];
for(int i = 0; i < n; i++){
nums[i] = Integer.MIN_VALUE;
}
queen(lists, nums, 0);
return lists;
}
public void queen(List<List<String>> lists, int[] nums, int cur){
if(cur == nums.length){
List<String> list = new ArrayList<>();
StringBuilder sb ;
for(int i = 0; i < nums.length; i++){
sb = new StringBuilder();
for(int j = 0; j < nums.length; j++){
if(j == nums[i]){
sb.append("Q");
} else {
sb.append(".");
}
}
list.add(sb.toString());
}
lists.add(list);
return ;
}
for(int col = 0; col < nums.length; col++){
nums[cur] = col;
boolean flag = true;
for(int row = 0; row < cur; row++){
if(nums[row] == col || Math.abs(col - nums[row]) == cur - row){
flag =false;
break;
}
}
if(flag){
queen(lists, nums, cur+1);
}
}
}
}
51.N皇后
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 最近,刘晓庆好像因为什么事情去了重庆一趟。既然到了重庆,那肯定是要尝一尝重庆的特色火锅,这才不算是白来一趟啊。 昨...
- 一、用枚举法实现思路:枚举所有的可能来,可以看成一个树形结构,到了叶子节点再去判断是不是可行解 二、用回溯法实现思...
- 小码王获涌铧数千万元A轮投资 助力中国青少年接轨世界编程教育 近日,中国青少年编程教育第一品牌「小码王」宣布获得涌...