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(回溯)相关推荐

  1. LeetCode 52.N皇后II

    [LetMeFly]52.N皇后II 力扣题目链接:https://leetcode.cn/problems/n-queens-ii/ n 皇后问题 研究的是如何将n个皇后放置在n×n的棋盘上,并且使 ...

  2. Java实现 LeetCode 52 N皇后 II

    52. N皇后 II n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击. 上图为 8 皇后问题的一种解法. 给定一个整数 n,返回 n 皇后不同的解决方案 ...

  3. LeetCode—52. N皇后 II(困难)

    52. N皇后 II(困难) 题目描述: n 皇后问题研究的是如何将 n 个皇后放置在 n × n 的棋盘上,并且使皇后彼此之间不能相互攻击.即令其中任意两个皇后都不同列.同行和在一条斜线上. 给你一 ...

  4. LeetCode 52. N皇后 II

    https://leetcode-cn.com/problems/n-queens-ii/ 难度:困难   n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻 ...

  5. LeetCode 51. N 皇后、52. N 皇后 II

    51. N 皇后 n皇后问题要求皇后放置后,同一行,同一列,同一斜线上不存在其他的皇后即可 采用回溯法解决该问题 同时应该设置一个函数判断当该位置放置皇后后,是否合法 因为是采用回溯法放置皇后,每行只 ...

  6. LeetCode 51. N皇后 / 52. N皇后 II(回溯)

    1. 题目 n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击. 上图为 8 皇后问题的一种解法. 给定一个整数 n,返回所有不同的 n 皇后问题的解决方案 ...

  7. leetcode刷题(53)——52. N皇后 II

    n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击. 给定一个整数 n,返回 n 皇后不同的解决方案的数量. 示例: 输入: 4 输出: 2 解释: 4 皇 ...

  8. LeetCode每日一题 52. N皇后 II

    题目链接 思路 暴搜 二进制 class Solution {public:vector<int> row, col;int totalNQueens(int n) {int ret= 0 ...

  9. 51. N皇后/52. N皇后 II

    2020-07-29 1.题目描述 n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击. 2.题解 回溯算法 3.代码 class Solution {pu ...

最新文章

  1. 腾讯35亿美元抄底收购搜狗,产品张小龙和技术王小川双剑合璧
  2. 一步步揭开 原型链的面纱 面试再也不慌 原型链
  3. 什么是移臂调度,什么是旋转调度?
  4. oracle-扫盲贴:存储过程实现增删改查
  5. magento模板中XML与phtml关系
  6. ROS 科大讯飞语音 (一)环境搭建与准备
  7. 95-120-046-源码-Cluster-YarnSessionClusterEntrypoint
  8. 1. JDK版本变迁和各版本新特性
  9. 电商系统商品库的基本功能设计与实现
  10. DEM、DSM 和 DTM 的区别——GIS 中的高程模型
  11. 牛客网 月出皎兮,佼人僚兮。 树上启发式合并
  12. 网线水晶头接法图解8根顺序
  13. 2020 年博客总结
  14. 课堂派资料PDF文件下载
  15. JS 判断用户设备是IOS 还是 Android
  16. 腾讯笔试——安排机器 【 题目描述】小 Q 的公司最近接到 m 个任务, 第 i 个任务需要 xi 的时间去完成, 难度等级为 yi。 小 Q 拥有 n 台机器, 每台机器最长工作时间 zi, 机器等
  17. 黑苹果、win双系统,丢失黑苹果引导,如何修复黑苹果的引导
  18. 软件设计师-设计模式
  19. 为何浙江富人多(一点启示)
  20. 搭建FTP服务器(二):虚拟目录的设置

热门文章

  1. makefile文件的书写规则(make和makefile)
  2. VMWARE VCSA 6.5安装过程
  3. 2639-Bone Collector II (01背包之第k优解)
  4. Activiti 简易教程
  5. [SQL] 请教一下 count里面有case when 一般情况下啥时候用
  6. Git上传项目到github
  7. Oracle 10.2.0.5 非归档current redolog损坏处理一例
  8. 盘州市“检企联合” 探索大数据应用新路
  9. 《中国人工智能学会通讯》——11.21 结束语
  10. 探测与响应是各企业机构在2017年的首要安全事务