52. N-Queens II (Array; Back-Track)
Follow up for N-Queens problem.
Now, instead outputting board configurations, return the total number of distinct solutions.
class Solution { public:int totalNQueens(int n) {result = 0;if(n==0) return result;vector<int> flag(n,-1); //每行的Q出现在哪列backTracking(n, flag, 0);return result;} void backTracking(int n, vector<int>& flag, int depth){ //depth is the line numberif(depth==n){result++;return;}for(int i = 0; i < n; i++){ //traverse columnif(check(n,flag, depth, i)) {flag[depth] = i;backTracking(n,flag,depth+1);flag[depth] = -1; // back track }}}bool check(int n, vector<int>& flag, int i, int j){for(int k = 0; k < i; k++){if(flag[k] < 0) continue;//no Q in this columnif(flag[k]==j) return false;//check columnsif(abs(i-k)==abs(j-flag[k])) return false; //check cross lines }return true;} private: int result; };
转载于:https://www.cnblogs.com/qionglouyuyu/p/4856959.html
52. N-Queens II (Array; Back-Track)相关推荐
- 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
[LetMeFly]52.N皇后II 力扣题目链接:https://leetcode.cn/problems/n-queens-ii/ n 皇后问题 研究的是如何将n个皇后放置在n×n的棋盘上,并且使 ...
- LeetCode 51. N 皇后、52. N 皇后 II
51. N 皇后 n皇后问题要求皇后放置后,同一行,同一列,同一斜线上不存在其他的皇后即可 采用回溯法解决该问题 同时应该设置一个函数判断当该位置放置皇后后,是否合法 因为是采用回溯法放置皇后,每行只 ...
- LeetCode 52. N皇后 II
https://leetcode-cn.com/problems/n-queens-ii/ 难度:困难 n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻 ...
- LeetCode 51. N皇后 / 52. N皇后 II(回溯)
1. 题目 n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击. 上图为 8 皇后问题的一种解法. 给定一个整数 n,返回所有不同的 n 皇后问题的解决方案 ...
- LeetCode每日一题 52. N皇后 II
题目链接 思路 暴搜 二进制 class Solution {public:vector<int> row, col;int totalNQueens(int n) {int ret= 0 ...
- leetcode 52. N皇后 II(回溯)
n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击. 给定一个整数 n,返回 n 皇后不同的解决方案的数量. 示例: 输入: 4 输出: 2 解释: 4 皇 ...
- 51. N皇后/52. N皇后 II
2020-07-29 1.题目描述 n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击. 2.题解 回溯算法 3.代码 class Solution {pu ...
- 问题 J: Sequence Problem (II) : Array Practice
题目描述 整数序列是一串按特定顺序排列的整数,整数序列的长度是序列中整数的个数,不可定义长度为负数的整数序列. 两整数序列A.B的和定义为一个新的整数序列C,序列C的长度是A.B两者中较长的一个,序列 ...
最新文章
- Android Studio简单设置
- Android 4.4 中 WebView 使用注意事项
- 数据丢失与重复_大数据面试题分享-恭喜这位朋友刚毕业拿到了20K
- 内部类详解————匿名内部类
- 畅通工程(并查集模版题)
- 第1章 操作系统引论课后答案
- 区块链智能合约----Solidity状态修饰符view、pure
- ShareTech大企业邮件服务器系统软件
- 最新C++网络编程实践视频教程 陈硕主讲(完整)
- 1156 Sexy Primes (20 分)(质数 模拟
- 实用Ip、手机、身份证归属地查询API
- excel表格打印每页都有表头_教你一招Excel打印技巧:每页有表头标题,阅读起来是真方便...
- 如何使用音频转换器将多个音频合并为一个音频
- 土豆网、六间房等在线视频FLV文件下载方法
- 汉诺塔//河内塔(Tower of Hanoi)
- STM32 SPI片选信号拉不高的解决方案
- 大学必考计算机软件cad,大学CAD考试试题单选多选作图操作题.doc
- vr全景技术开启智能化vr酒店宣传新模式
- js事件案例——小人快跑JavaScript
- 趣图:菜鸟多线程 vs 老鸟多线程
热门文章
- 十进制转bcd码c程序语言,bcd码转换成十进制程序函数
- mysql的四大线程_阿里一面就凉了:MySQL+多线程+Redis+算法+网络一个都没说明白...
- deeplearning.ai——构建深度神经网络做图像处理
- 嫦娥四号生物科普载荷内长出月球第一片植物嫩芽
- js 自定义DOM事件
- 简单类型参数是值传递,对象参数是引用传递
- 史上最全的phpstorm常用配置
- Arrays和比较器
- 【论文】Realtime lane tracking of curved local road 检测和跟踪功能
- C语言基础2-C语言条件结构