博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode 51 N-Queens
阅读量:5770 次
发布时间:2019-06-18

本文共 1093 字,大约阅读时间需要 3 分钟。

转载:

The n-queens puzzle is the problem of placing n queens on an n×n chessboard such that no two queens attack each other.

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:

[ [".Q..",  // Solution 1  "...Q",  "Q...",  "..Q."], ["..Q.",  // Solution 2  "Q...",  "...Q",  ".Q.."]]

java解法如下所示:

public class Solution {    public void dfs(List
> res, List
list, Set
col, Set
diag1, Set
diag2, int row, int n){ if(row==n){ res.add(new ArrayList
(list)); return; } //遍历该行的所有列 for(int i=0;i
> solveNQueens(int n) { List
> res = new ArrayList
>(); if(n==0) return res; Set
col = new HashSet
(); //列集 Set
diag1 = new HashSet
(); //正对角线集 Set
diag2 = new HashSet
(); //副对角线集 List
list = new ArrayList
(); //用于存放每一种情况 dfs(res, list, col, diag1, diag2, 0, n); return res; }}
 
你可能感兴趣的文章
c# 备份还原 例子
查看>>
Linux 小知识翻译 - 「虚拟化技术 续」
查看>>
MonoRail学习笔记十一:页面控件的填充和验证
查看>>
Linux下RocketMQ环境的配置
查看>>
DirectX Effects初探
查看>>
Linux的防火墙–Iptables
查看>>
CrazePony飞行器--相关资料网址
查看>>
我的世界游戏服务器搭建
查看>>
windows消息机制(MFC)
查看>>
关于优先级反转【转】
查看>>
linux中fork()函数详解【转】
查看>>
setting.xml配置文件
查看>>
mysql索引总结----mysql 索引类型以及创建
查看>>
SQL Server 2012 数据库镜像配置完整篇
查看>>
指针小问题
查看>>
思科2960交换机与Windows server 2012 实现LACP链路聚合
查看>>
【译】MySQL char、varchar的区别
查看>>
开源中国社区 iPhone 客户端项目学习笔记
查看>>
机器学习理论与实验2
查看>>
分布式存储系统-GlusterFs概述
查看>>