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

leetCode 30天

题太难了,就来一个N皇后吧
51. N 皇后

class Solution {
private:vector<vector<string>> res;void backtracking(int n, int row, vector<string>& chessboard){if (row == n){res.push_back(chessboard);return;}for (int col = 0; col<n; col++){if (isValid(row, col, chessboard, n)){chessboard[row][col] = 'Q';backtracking(n, row+1,chessboard);chessboard[row][col] = '.';}}}bool isValid(int row, int col, vector<string>& chessboard, int n){// 检查列for (int i = 0; i<row; i++){if (chessboard[i][col] == 'Q'){return false;}}// 检查45度角for (int i = row-1,j = col-1; i>=0 && j>=0; i--,j--){if (chessboard[i][j] == 'Q'){return false;}}// 检查135度for (int i = row-1,j = col+1; i>=0 && j<n; i--,j++){if (chessboard[i][j] == 'Q'){return false;}}return true;}public:vector<vector<string>> solveNQueens(int n) {res.clear();vector<string> chessboard(n, string(n,'.'));backtracking(n, 0, chessboard);return res;}
};
http://www.lryc.cn/news/296468.html

相关文章:

  • vue3+vite+ts 配置commit强制码提交规范配置 commitlint
  • PlateUML绘制UML图教程
  • 自然语言处理(NLP)——使用Rasa创建聊天机器人
  • 使用虚拟主机部署多站点
  • Openresty+Lua+Redis实现高性能缓存
  • 基于Vue2用keydown、keyup事件实现长按键盘任意键(或组合键)3秒触发自定义事件(以F1键为例)
  • 【C#】.net core 6.0 设置根目录下某个文件夹可访问,访问创建的图片等资源
  • 报错ValueError: Unknown CUDA arch (8.6) or GPU not supported
  • Golang 并发 Cond条件变量
  • linux 下 chrome 无法在设置里面配置代理的解决方法
  • C#上位机与三菱PLC的通信03--MC协议之A-1E报文解析
  • nodeJS 的 npm 设置国内高速镜像之淘宝镜像的方法
  • Nginx方向代理和负载均衡配置
  • 贪心算法篇
  • springboot/ssm大学生就业服务平台就业招聘宣传管理系统Java系统
  • 上下固定中间自适应布局
  • 3分钟部署完成Docker Registry及可视化管理工具Docker-UI
  • 【npm】修改npm全局安装包的位置路径
  • 数据库切片大对决:ShardingSphere与Mycat技术解析
  • macbook电脑如何永久删除app软件?
  • 安卓——计算器应用(Java)
  • 【笔记】Helm-5 Chart模板指南-8 命名模板
  • Github 2024-02-08 开源项目日报 Top9
  • c语言贪食蛇游戏
  • 国际物流数字化运输方式选择指南 | 箱讯科技
  • FPS游戏框架漫谈第二十天
  • ChatGPT高效提问—prompt常见用法(续篇四)
  • 【蓝桥杯单片机记录】IO基础与LED控制
  • java 回答问题
  • 彻底学会系列:一、机器学习之线性回归(一)