LeetCode--052--N皇后II(java)
2024-09-04 23:55:44
n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。
上图为 8 皇后问题的一种解法。
给定一个整数 n,返回 n 皇后不同的解决方案的数量。
示例:
输入: 4
输出: 2
解释: 4 皇后问题存在如下两个不同的解法。
[
[".Q..", // 解法 1
"...Q",
"Q...",
"..Q."], ["..Q.", // 解法 2
"Q...",
"...Q",
".Q.."]
]
只需要把51题的return条件换掉就行,注意用static时,服务器进行测试1的时候很容易出错。故变为数组进行存储结果。。。不求上进
class Solution {
public static int totalNQueens(int n) {
if(n <=0)return 0;
int[] res={0};
helper(new int[n],0,res);
return res[0];
}
public static void helper(int[] queens,int pos,int[] res){
if(pos == queens.length){
res[0] += 1;
return;
}
for(int i = 0 ;i < queens.length;i++){
queens[pos] = i;
if(isValid(queens,pos)){
helper(queens,pos+1,res);
}
}
}
public static boolean isValid(int[] queens,int pos){
for(int i = 0;i < pos;i++){
if(queens[i] == queens[pos])return false;
else if(Math.abs(queens[i] - queens[pos]) == Math.abs(i - pos)){
return false;
}
}
return true;
} }
2019-05-10 16:19:39
最新文章
- 利用substring()方法,把一个表的不同分级所对应的字段名取出来。
- PetaPoco 使用总结(一)
- [ACM_图论] 棋盘问题 (棋盘上放棋子的方案数)
- CentOS7安装mysql数据库
- uiimageView连续帧动画
- 使用RX方式模拟DoubanFm的登陆
- Objective-C: NSFileManager 的使用
- centos6的安装,一步一图,有图有真相
- python 3.x 爬虫基础---http headers详解
- Springboot security cas整合方案-实践篇
- Good Time 冲刺 二
- Linux atop监控说明
- php sleep函数延迟执行
- Python股票分析系列——系列介绍和获取股票数据.p1
- apache做反向代理服务器
- FortiGate双链路不同运营商上网配置
- CentOS工作内容(五)单一网卡配置多个IP
- C#预处理器指令【转】
- hadoop完全分布式手动安装(一主多从centos linux各版本均试验成功,文档完整无一遗漏)
- wmware 10 升级到11后,macos不能运行的问题
热门文章
- hive_action
- flask_sqlalchemy获取动态 model名称 和 动态查询
- 快速入门分布式消息队列之 RabbitMQ(1)
- 挣值管理(PV、EV、AC、SV、CV、SPI、CPI)
- centos 6.5 升级openssh-7.5
- PHP 图片+文字+二维码生成小程序分享海报
- DropDownList 需要加AutoPostBack=";true"; ,OnSelectedIndexChanged方法才有效
- mysql使用触发器生成唯一订单号,
- python列表-使用
- 如何通过脚本实现显示版本号、CPU、硬盘和内存条大小