leetcode 52. N皇后 II(回溯)
n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。
给定一个整数 n,返回 n 皇后不同的解决方案的数量。
示例:
输入: 4
输出: 2
解释: 4 皇后问题存在如下两个不同的解法。
[
[".Q…", // 解法 1
“…Q”,
“Q…”,
“…Q.”],
["…Q.", // 解法 2
“Q…”,
“…Q”,
“.Q…”]
]
代码
class Solution {char[][] chess;int cnt,res3=0;public int totalNQueens(int n) {cnt=n;chess=new char[n][n];for(int i=0;i<n;i++)//构建一个棋盘Arrays.fill(chess[i],'.');putNQueens(0);return res3;}public void putNQueens(int row) {if(row==cnt)//合法的摆放{res3++;return;}for(int i=0;i<cnt;i++){if(isNQueens(row,i)){chess[row][i]='Q';putNQueens(row+1);chess[row][i]='.';//回溯} }}public boolean isNQueens(int row,int col) {for(int i=1;row-i>=0;i++)if((col+i<cnt&&chess[row-i][col+i]=='Q')||(col-i>=0&&chess[row-i][col-i]=='Q')||chess[row-i][col]=='Q')//判断主对角线 副对角线 同一列 这3个方向有没有皇后return false;return true;}
}
leetcode 52. N皇后 II(回溯)相关推荐
- LeetCode 52.N皇后II
[LetMeFly]52.N皇后II 力扣题目链接:https://leetcode.cn/problems/n-queens-ii/ n 皇后问题 研究的是如何将n个皇后放置在n×n的棋盘上,并且使 ...
- Java实现 LeetCode 52 N皇后 II
52. N皇后 II n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击. 上图为 8 皇后问题的一种解法. 给定一个整数 n,返回 n 皇后不同的解决方案 ...
- LeetCode—52. N皇后 II(困难)
52. N皇后 II(困难) 题目描述: n 皇后问题研究的是如何将 n 个皇后放置在 n × n 的棋盘上,并且使皇后彼此之间不能相互攻击.即令其中任意两个皇后都不同列.同行和在一条斜线上. 给你一 ...
- LeetCode 52. N皇后 II
https://leetcode-cn.com/problems/n-queens-ii/ 难度:困难 n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻 ...
- LeetCode 51. N 皇后、52. N 皇后 II
51. N 皇后 n皇后问题要求皇后放置后,同一行,同一列,同一斜线上不存在其他的皇后即可 采用回溯法解决该问题 同时应该设置一个函数判断当该位置放置皇后后,是否合法 因为是采用回溯法放置皇后,每行只 ...
- LeetCode 51. N皇后 / 52. N皇后 II(回溯)
1. 题目 n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击. 上图为 8 皇后问题的一种解法. 给定一个整数 n,返回所有不同的 n 皇后问题的解决方案 ...
- leetcode刷题(53)——52. N皇后 II
n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击. 给定一个整数 n,返回 n 皇后不同的解决方案的数量. 示例: 输入: 4 输出: 2 解释: 4 皇 ...
- LeetCode每日一题 52. N皇后 II
题目链接 思路 暴搜 二进制 class Solution {public:vector<int> row, col;int totalNQueens(int n) {int ret= 0 ...
- 51. N皇后/52. N皇后 II
2020-07-29 1.题目描述 n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击. 2.题解 回溯算法 3.代码 class Solution {pu ...
最新文章
- 腾讯35亿美元抄底收购搜狗,产品张小龙和技术王小川双剑合璧
- 一步步揭开 原型链的面纱 面试再也不慌 原型链
- 什么是移臂调度,什么是旋转调度?
- oracle-扫盲贴:存储过程实现增删改查
- magento模板中XML与phtml关系
- ROS 科大讯飞语音 (一)环境搭建与准备
- 95-120-046-源码-Cluster-YarnSessionClusterEntrypoint
- 1. JDK版本变迁和各版本新特性
- 电商系统商品库的基本功能设计与实现
- DEM、DSM 和 DTM 的区别——GIS 中的高程模型
- 牛客网 月出皎兮,佼人僚兮。 树上启发式合并
- 网线水晶头接法图解8根顺序
- 2020 年博客总结
- 课堂派资料PDF文件下载
- JS 判断用户设备是IOS 还是 Android
- 腾讯笔试——安排机器 【 题目描述】小 Q 的公司最近接到 m 个任务, 第 i 个任务需要 xi 的时间去完成, 难度等级为 yi。 小 Q 拥有 n 台机器, 每台机器最长工作时间 zi, 机器等
- 黑苹果、win双系统,丢失黑苹果引导,如何修复黑苹果的引导
- 软件设计师-设计模式
- 为何浙江富人多(一点启示)
- 搭建FTP服务器(二):虚拟目录的设置
热门文章
- makefile文件的书写规则(make和makefile)
- VMWARE VCSA 6.5安装过程
- 2639-Bone Collector II (01背包之第k优解)
- Activiti 简易教程
- [SQL] 请教一下 count里面有case when 一般情况下啥时候用
- Git上传项目到github
- Oracle 10.2.0.5 非归档current redolog损坏处理一例
- 盘州市“检企联合” 探索大数据应用新路
- 《中国人工智能学会通讯》——11.21 结束语
- 探测与响应是各企业机构在2017年的首要安全事务