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

成都科技网站建设电话咨询亚洲卫星电视网参数表

成都科技网站建设电话咨询,亚洲卫星电视网参数表,网站动态和静态的区别,wordpress删掉h1目录 51.N皇后 52.N皇后II 51.N皇后 51. N 皇后 - 力扣(LeetCode) 按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上,并且使皇后彼此之间…

目录

51.N皇后

52.N皇后II 


51.N皇后

51. N 皇后 - 力扣(LeetCode)

按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。

n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。

给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。

每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中 'Q' 和 '.' 分别代表了皇后和空位。

示例 1:

输入:n = 4
输出:[[".Q..","...Q","Q...","..Q."],["..Q.","Q...","...Q",".Q.."]]
解释:如上图所示,4 皇后问题存在两个不同的解法。

示例 2:

输入:n = 1
输出:[["Q"]]

提示:

  • 1 <= n <= 9
class Solution {
private:bool isValid(vector<string>& board,int row,int col,int n){for(int i=row-1;i>=0;i--)//同一列{if(board[i][col]=='Q')    return false;}for(int i=row-1,j=col-1;i>=0&&j>=0;i--,j--)//左上{if(board[i][j]=='Q')    return false;}for(int i=row-1,j=col+1;i>=0&&j<n;i--,j++)//右上{if(board[i][j]=='Q')    return false;}return true;}void backtrack(vector<vector<string>>& result,vector<string>& board,int row,int n){if(row==n)//row从0开始,到n-1时已经将n个皇后放置好{result.push_back(board);return;}for(int col=0;col<n;col++){if(isValid(board,row,col,n)){board[row][col]='Q';//放置皇后backtrack(result,board,row+1,n);//放置下一行的皇后board[row][col]='.';// 回溯}}}
public:vector<vector<string>> solveNQueens(int n) {vector<vector<string>> result;vector<string> board(n,string(n,'.'));//初始化棋盘将n*n的棋盘全放置.表示还未放置皇后backtrack(result,board,0,n);return result;}
};

52.N皇后II 

52. N 皇后 II - 力扣(LeetCode)

返回 n 皇后问题 不同的解决方案的数量。

 注意指针的用法

class Solution {
private:bool isValid(vector<string>& board,int row,int col,int n){for(int i=row-1;i>=0;i--)//同一列{if(board[i][col]=='Q')    return false;}for(int i=row-1,j=col-1;i>=0&&j>=0;i--,j--)//左上{if(board[i][j]=='Q')    return false;}for(int i=row-1,j=col+1;i>=0&&j<n;i--,j++)//右上{if(board[i][j]=='Q')    return false;}return true;}void backtract(int* count,vector<string>& board,int row,int n){if(row==n){(*count)++;//注意指针的用法,*p取值,p表示的是地址}for(int col=0;col<n;col++){if(isValid(board,row,col,n)){board[row][col]='Q';backtract(count,board,row+1,n);board[row][col]='.';}}}
public:int totalNQueens(int n) {int count=0;vector<string> board(n,string(n,'.'));backtract(&count,board,0,n);//注意传&count,如果直接传count,函数返回时count的值不会改变return count;}
};

 

 

http://www.dinnco.com/news/37510.html

相关文章:

  • 学慧网的网站是谁家做的找资源
  • 网站开发的开发语言流量网站
  • linux可以做网站开发吗如何做好品牌宣传
  • 福建省龙岩市新罗区建设局网站培训总结怎么写
  • 一站式网站建设有哪些友情链接管理系统
  • 免费制作ppt软件关键词seo是什么意思
  • 临沂网站排名优化论坛推广网站
  • 中卫网红美食打卡地seo发展前景怎么样啊
  • 做网站都得会什么技术最近一周新闻大事摘抄2022年
  • 熊掌号怎么域名做网站icp备案查询
  • 网站建设要做什么百度关键词优化送网站
  • wordpress侧缩略图百度优化推广
  • 软件外包产业如何对一个网站进行seo
  • 网站要背代码?最近国际时事热点事件
  • 毕业设计做网站老师会问什么怎么在网上推广产品
  • 网站后台 设计2022最新永久地域网名
  • 酒泉地网站推广搜狗推广登录平台官网
  • 网站平台延展性全网引流推广
  • 可以登录国外网站吗全媒体运营师报名费多少钱
  • 站群子网站开发上海专业seo服务公司
  • 小米网站seo分析报告+书韩国热搜榜
  • 十大免费自助建站如何做推广和引流
  • 权威发布新冠用药东莞百度seo关键词优化
  • 做购物平台网站需要多少资金无锡百度公司代理商
  • 中国建设银行积分换购网站百度校招
  • 如何优化网站微信营销工具
  • 网站动态和静态的区别网页设计与制作案例教程
  • 网站对比分析营销网页
  • 信誉比较好的商家可做网站seo推广软件哪个好
  • 餐饮加盟什么网站建设seo实战密码第三版