Follow up for N-Queens problem.

Now, instead outputting board configurations, return the total number of distinct solutions.

public class Solution {//本题类似于N-Queens,这个更简单一些,只需要求出解法的个数即可,因此没有了print步骤//注意:isvalid函数的参数,以及函数中i的范围//      A[]的意义,可以代表棋盘的行int res;int A[];public int totalNQueens(int n) {A=new int[n];nqueens(0,n);return res;}public void nqueens(int cur,int n){if(cur==n){res++;}else{for(int i=0;i<n;i++){A[cur]=i;if(isValid(cur)){nqueens(cur+1,n); }}}}public boolean isValid(int cur){for(int i=0;i<cur;i++){if(A[i]==A[cur]||Math.abs(A[i]-A[cur])==cur-i)return false;}return true;}
}

转载于:https://www.cnblogs.com/qiaomu/p/4641037.html

[leedcode 52] N-Queens II相关推荐

  1. Java实现 LeetCode 52 N皇后 II

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

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

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

  3. LeetCode 52.N皇后II

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

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

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

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

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

  6. LeetCode 52. N皇后 II

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

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

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

  8. leetcode 52. N皇后 II(回溯)

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

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

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

最新文章

  1. mysql基本命令行
  2. 文件服务器搭建 xp,xp文件服务器搭建
  3. codeblocks如何watch数组
  4. python3随记——字符编码
  5. 【工具】FormatUtil.ava 常用工具类
  6. 关于PHP页面显示乱码问题的解决
  7. Java主类结构:变量与常量
  8. LaTeX 消除字Font shape `OMX/cmex/m/n‘ in size <10.53937> not available (Font) size <10.95> substituted.
  9. Java-Android 之出滚动条和卷轴页面
  10. Amlogic Linux系列(三) 视频解码分析
  11. 哔哩哔哩Java学习视频
  12. fl2440第一次烧录
  13. RTOS中动态内存和静态内存管理机制
  14. Android 常用炫酷控件(开源项目)git地址汇总
  15. c++ - 虚函数表
  16. ssm框架体检管理系统源码+文档
  17. VC++程序设计与应用--菜单、工具栏与状态栏
  18. RTNETLINK answers: File exists的解决方案
  19. 网易微专业 前端工程师 学习笔记
  20. 怎样描写事物的动态?

热门文章

  1. 数据库日期时间显示在页面上格式错误的解决方案
  2. 构建之法第11、12章
  3. 某final神犇的工作感想
  4. 客户端独立弹出详细的实现过程
  5. mysql gui vim_vim(一): 小技巧
  6. Linux|CentOS下配置Maven环境
  7. 导入数据任务(id:373985)异常, 错误信息:解析导入文件错误,请检查导入文件内容,仅支持导入json格式数据及excel文件...
  8. Java反射机制概念及应用场景
  9. Vue中import引入模块路径时的@符号
  10. mysql 常用命令与备份恢复 整理