当前位置: 首页 > news >正文

河南省做网站的公司有哪些dw网页设计个人简历

河南省做网站的公司有哪些,dw网页设计个人简历,wordpress添加自定义模板,网站做不做备案有什么区别Problem: 面试题 08.12. 八皇后 文章目录 题目描述思路解题方法复杂度Code 题目描述 思路 八皇后问题的性质可以利用回溯来解决,将大问题具体分解成如下待解决问题: 1.以棋盘的每一行为回溯的决策阶段,判断当前棋盘位置能否放置棋子 2.如何判…

Problem: 面试题 08.12. 八皇后

文章目录

  • 题目描述
  • 思路
  • 解题方法
  • 复杂度
  • Code

题目描述

在这里插入图片描述

思路

八皇后问题的性质可以利用回溯来解决,将大问题具体分解成如下待解决问题:

1.以棋盘的每一行为回溯的决策阶段,判断当前棋盘位置能否放置棋子
2.如何判断当前棋盘位置是否可以放置棋子

解题方法

1.回溯函数:

1.1定义二维结果集result,char类型二维数组(作为棋盘)并初始化
1.2当决策阶段row等于n时,将当前的决策路径添加到result中(注意决策阶段应该等于n时才说明将棋盘判断完了,因为当决策阶段等于n时说明0 - n-1 已经判断处理完)
1.3由于在每一个决策阶段我们需要对棋盘的每一列棋格判断(穷举),所以以每一列为循环判断(调用判断当前位置是否可以添加棋子的函数),若可以则先将棋盘当前位置添上棋子,再回溯判断当前行的下一行,判断完当前行后还需恢复当前棋盘位置的状态

2.判断当前位置是否可以添加棋子函数

2.1依次利用循环判断当前位置的列,右上角,左上角是否存在棋子,存在则不可在当前位置添加棋子

复杂度

时间复杂度:

O ( n ! ) O(n!) O(n)

空间复杂度:

O ( n ) O(n) O(n)

Code

class Solution {//Two-dimensional result setprivate List<List<String>> result = new ArrayList<>();/*** Get the solution to the Eight Queens problem** @param n The size of board* @return List<List < String>>*/public List<List<String>> solveNQueens(int n) {char[][] board = new char[n][n];for (int i = 0; i < n; ++i) {for (int j = 0; j < n; ++j) {board[i][j] = '.';}}backtrack(0, board, n);return result;}/*** Find the solution of the eight queens problem by backtracking** @param board Board* @param row   The row of board(The decision stage of backtracking)* @param n     The size of board*/private void backtrack(int row, char[][] board, int n) {//End condition:A feasible solution is foundif (row == n) {List<String> snapshot = new ArrayList<>();for (int i = 0; i < n; ++i) {snapshot.add(new String(board[i]));}result.add(snapshot);return;}//Each has n ways to placefor (int col = 0; col < n; ++col) {if (isOk(board, n, row, col)) {//optional list//The chess board places pieces in row rows and col columnsboard[row][col] = 'Q';//Investigate the next rowbacktrack(row + 1, board, n);//Recover the selectionboard[row][col] = '.';}}}/*** Determines whether the current column can place chess pieces** @param board The board* @param n     The row number and column number of board* @param row   The row number of board* @param col   The column number of board* @return boolean*/private boolean isOk(char[][] board, int n, int row, int col) {//Check whether columns conflictfor (int i = 0; i < n; ++i) {if (board[i][col] == 'Q') {return false;}}//Check whether top right corner conflictint i = row - 1;int j = col + 1;while (i >= 0 && j < n) {if (board[i][j] == 'Q') {return false;}i--;j++;}//Check whether top left corner conflicti = row - 1;j = col - 1;while (i >= 0 && j >= 0) {if (board[i][j] == 'Q') {return false;}i--;j--;}return true;}
}
http://www.yayakq.cn/news/484731/

相关文章:

  • h5网站建设哪家好个人网站可以做自媒体吗
  • 毕业设计做网站好做吗全球域名注册平台
  • 福州网站制作推广盘锦市建设银行网站
  • 2017年做网站维护总结建立一个公司网站 宣传企业文化优弊端
  • 住房和城乡建设部网站唐山中文外贸网站建设
  • 自适应网站cms做一个app平台需要多少钱
  • 网站后台中文模板北京网站建设公司知乎
  • 做羞羞事的网站中国工程建设造价信息网站
  • 单位网站建设做到哪个科目wordpress 添加登录
  • 做网站图片的大小泉州做网站工作室
  • 宁波网站建设服务服务商微信朋友圈投放广告怎么收费
  • 戈韦思网站建设暴雪国服回归消息今天最新
  • wordpress网站微信登录盈利的网站
  • 菠菜网站怎么做推广比较好wordpress公开课插件
  • xml网站地图生成器建设网站设计的公司
  • 盐城做网站哪家好专业做家居的网站
  • 做美食视频的网站有哪些类似于百度快照的网站
  • vue 做的网站平面设计素材图库
  • 重庆市建设公共资源交易中心网站网络网站销售
  • 西安商城类网站制作wordpress开发工作
  • 有什么比较好的画册设计网站网页制作步骤教程
  • 自己做的网站在浏览器上显示不安全unity可以做网站吗
  • php官网网站建设做网站排名要懂那些
  • 手机网站的优缺点搭建网站原理
  • 做网站公司青岛网站备案认领
  • 旅游做攻略用什么网站好网站素材站
  • 建设一个小说网站win2012服务器做网站
  • 有没有女的做任务的网站广东官网网站建设怎么样
  • 北京网站优化公司如何做电脑网站用什么软件好用吗
  • 专业的魔站建站系统建设局网站简介