n-queen是回溯法的一个典例,算法在书中介绍的很详细,主要就是逐层往下尝试,不合适则后退一层。再次申明,算法来源《算法导论》。

public class queen8 {public static void NQueens(int n) {int[] X = new int[n+1];X[0] = 0;int k = 1;while(k > 0) {X[k] = X[k] + 1;while(X[k] <= n && Place(X,k) != true) {X[k] = X[k] + 1;}if(X[k] <= n) {if(k == n) {for(int i=1;i<n+1;i++)System.out.print(X[i]+" ");System.out.println();   }else {k++;X[k] = 0;}}else k--;}}public static boolean Place(int[] X,int k) {int i = 1;while(i<k) {if(X[i] == X[k] || Math.abs(X[i] - X[k]) == Math.abs(i-k))return false;i++;}return true;}public static void main(String[] args) {NQueens(8);}}

N-Queen(java实现)相关推荐

  1. java 黑白皇后算法_JNI学习之步步深入四--皇后的祝福

    上篇中简单介绍了,java中的类型和C中的类型的映射的,本篇将以一个无聊的实例来看看JNI中数组的使用. 皇后的祝福,思路很简单,就是利用我们耳熟能详的把皇后问题结合JNI来实现一点点小小的乐趣,在快 ...

  2. 【手把手带你学JavaSE】(项目展示)老鼠走迷宫和八皇后问题

    目录 前言 老鼠走迷宫 MiGong.java 八皇后问题 Queen.java 前言 大家还记得当初C语言我们一起学习的递归吗?说好的要实现老鼠走迷宫和八皇后问题!他来了!!! 老鼠走迷宫 MiGo ...

  3. Java Websocket实例【服务端与客户端实现全双工通讯】

    Java Websocket实例[服务端与客户端实现全双工通讯] 现很多网站为了实现即时通讯,所用的技术都是轮询(polling).轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发 出HTTP ...

  4. LeetCode 51. N-Queens--回溯法 pyhon,java,c++解法

    题目地址: The n-queens puzzle is the problem of placing n queens on an n×n chessboard such that no two q ...

  5. 201771010126 王燕《面向对象程序设计(Java)》第十四周学习总结(测试程序11)...

    实验十四  Swing图形界面组件 理论部分: 不使用布局管理器 有时候可能不想使用任何布局管理器,而只 是想把组件放在一个固定的位置上.下面是将一 个组件定位到某个绝对定位的步骤: 1)将布局管理器 ...

  6. leetcode算法题解(Java版)-9-N皇后问题

    一.贪心 题目描述 Find the contiguous subarray within an array (containing at least one number) which has th ...

  7. 《Effective Java》 读书笔记(持续更新)

    2.1 用静态工厂方法代替构造器 静态工厂方法: 不通过 new (如:Date date = new Date();) 而是用一个静态方法来对外提供自身实例的方法叫做静态工厂方法(Static fa ...

  8. java最小访问原则_Android基础进阶之EffectiveJava翻译系列(第七章:通用原则)

    本章主要讨论语言的具体内容.它讨论了局部变量的处理.控制结构.库的使用.各种数据类型的使用,以及使用反射和本地方法.最后,讨论了优化和命名约定 Item 45:最小化局部变量作用域 作用域:一个花括号 ...

  9. java第二次测试笔试题_微软第二次笔试第一题java代码 已AC

    import java.util.HashMap; import java.util.Scanner; import java.util.Set; /** * Queen attack * @auth ...

  10. Java入门超简单程序Song List

    题目 The goal of this project is to write an application for maintaining a list of songs. Each song ha ...

最新文章

  1. Linux 基础学习
  2. 【Unity3D】 KeyCode 键码
  3. python中的set
  4. CentOS7安装和配置samba
  5. 测试框架 Jest 实例教程
  6. 为什么人生气时说话用喊的
  7. 2016江苏省盗取计算机技术,2016年江苏省职业学校技能大赛物联网技术应用与维护公开题库...
  8. POJ 3608 旋转卡壳
  9. 程序员的终极幻想(一):像操作数据库那样操作大脑的记忆
  10. 语音助手的涅槃关头,我们应该完全抛弃屏幕还是选择“语音+图形界面”?
  11. R语言重现STAMP结果图
  12. HTML-淘宝导航条
  13. Activity全屏透明动画等
  14. 常见几个排序源码及二分查找源码
  15. java小项目---------银行新用户现金业务办理(运用数据库)
  16. html适合app的登陆页面,纯CSS3创意手机APP登录界面动画特效
  17. 2021SC@SDUSC山东大学软件学院软件工程应用与实践--YOLOV5代码分析(十三)metrics.py-1
  18. D. Factorial Divisibility
  19. python读取txt中文乱码
  20. SwitchResX 4.6 调整外接显示器分辨率

热门文章

  1. 公务员面试综合分析真题解析3
  2. 大厂程序员因厌恶编程,辞去月薪2w+的工作去当司机?
  3. 中国首台云电脑全面解析——天霆云计算董事长谈天霆专访
  4. 一纬度横直线等于多公里_【归纳整理】高中地理必修一知识点总结
  5. 项目管理能力提升四要素
  6. 浑浑噩噩10年,入坑软件测试,6年干到测试leader,非科班的我也能当程序员!
  7. 手机企业微信下载文件存储地址
  8. pyecharts绘制地图(Geo and Map)(细节更丰富)
  9. 第三十八章 SQL命令 DROP TABLE
  10. SQLI-LABS——Page-2 Advanced Injections Less21~Less37