发布时间:2026/7/11 3:47:39
LeetCode--51. N皇后(回溯算法) 51. N皇后题目描述按照国际象棋的规则皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。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代码classSolution{// 存放最终结果// 每一个 ListString 表示一种棋盘摆放方案ListListStringresultnewArrayList();// 当前棋盘路径// 每个 String 表示棋盘的一行ListStringpathnewArrayList();/** * 判断当前位置是否可以放皇后 * * param n 棋盘大小 * param row 当前行 * param column 当前列 * param chessboard 当前棋盘 */publicbooleanisValid(intn,introw,intcolumn,char[][]chessboard){/** * 检查同行、同列是否有皇后 */for(inti0;irow;i){// 纵向检查if(chessboard[i][column]Q)returnfalse;}/** * 检查主对角线\ */// 左上方向introw1row;intcolumn1column;while(row1--0column1--0){if(chessboard[row1][column1]Q)returnfalse;}/** * 检查副对角线/ */// 右上方向row1row;column1column;while(row1--0column1n-1){if(chessboard[row1][column1]Q)returnfalse;}// 当前位置合法returntrue;}/** * 回溯函数 * * param n 棋盘大小 * param row 当前处理到第几行 * param chessboard 当前棋盘状态 */publicvoidbacktracking(intn,introw,char[][]chessboard){/** * 终止条件 * * row n * 说明前 n 行已经全部放置完成 */if(rown){// 保存当前方案result.add(newArrayList(path));return;}/** * 枚举当前行的每一列 */for(inti0;in;i){/** * 判断当前位置是否合法 */if(isValid(n,row,i,chessboard)){// 放置皇后chessboard[row][i]Q;// 当前行加入路径path.add(newString(chessboard[row]));// 递归下一行backtracking(n,row1,chessboard);// 回溯移除皇后chessboard[row][i].;// 删除当前行path.remove(path.size()-1);}}}publicListListStringsolveNQueens(intn){/** * 初始化棋盘 * * . 表示空位 */char[][]chessboardnewchar[n][n];for(inti0;in;i){for(intj0;jn;j){chessboard[i][j].;}}// 从第0行开始回溯backtracking(n,0,chessboard);returnresult;}}

相关新闻

2026/7/11 3:47:39

AI视频修复技术:从原理到实践的老视频高清化指南

这次我们来看一个经典视频修复项目——张国荣1984年十大劲歌金曲现场的高清修复版本。这个修复作品最值得关注的是在保持原视频韵味的同时实现了清晰度的大幅提升,让经典舞台重现光彩。对于喜欢怀旧经典、需要处理老视频素材的用户来说,这种修复技术非常…

2026/7/11 3:42:39

康奈尔 CS3110 数据结构与函数式编程讲义(四)

http://adam.chlipala.net/cpdt/* * *索引* * *本页由[coqdoc](http://www.lix.polytechnique.fr/coq/)生成。# 渐近复杂性的回顾* * *<menu>* 渐近分析* 最坏情况和平均情况分析* 增长顺序和大 O 符号* 比较增长顺序* 二叉搜索树* 练习</menu>* * *##…

2026/7/11 4:52:41

警惕Claude Opus 4.6虚假版本:识别模型真伪与合规调用指南

我不能提供关于“Claude Opus 4.6”价格比较或购买渠道的信息&#xff0c;原因如下&#xff1a; 不存在名为“Claude Opus 4.6”的官方模型版本 Anthropic 官方从未发布过 “Claude Opus 4.6” 这一型号。截至2024年7月&#xff0c;Anthropic 正式公开的 Claude 系列模型包括…

2026/7/11 4:52:41

打通Tiled与Godot 4.2数据壁垒:瓦片变换导出器优化实践

1. 项目概述&#xff1a;为什么我们需要一个“更聪明”的导出器&#xff1f;如果你和我一样&#xff0c;是那种喜欢用Tiled来设计游戏关卡&#xff0c;然后导入到Godot引擎里拼装成世界的开发者&#xff0c;那么最近肯定被Godot 4.2的瓦片变换新特性搞得又爱又恨。爱的是&#…

2026/7/11 4:52:40

2026年将至,哪些灌液防火玻璃品牌凭借好口碑脱颖而出?

在建筑安全日益受到重视的今天&#xff0c;灌液防火玻璃作为保障消防安全的关键材料&#xff0c;其品质和品牌口碑愈发受到关注。随着2026年的临近&#xff0c;市场上众多品牌竞争激烈&#xff0c;其中徐州住华特种玻璃有限公司&#xff08;简称住华&#xff09;凭借其卓越的产…

2026/7/11 4:52:40

11小时闭环造APP:多模态AI如何重构移动开发范式

1. 这不是又一个“更强的视觉模型”&#xff0c;而是APP开发范式的临界点“阿里Qwen3.7-Plus发布&#xff1a;登顶国内视觉榜&#xff0c;11小时闭环造APP”——这个标题里藏着两层极易被忽略的真相。第一层是技术事实&#xff1a;它确实在Vision Arena榜单上拿下中国第一、全球…

2026/7/11 4:52:40

【单片机毕业设计】 基于 51 单片机的 PM2.5 粉尘监测与声光报警装置设计 ,基于 STM32 单片机的室内 PM2.5 检测预警系统设计(024501)

文章目录 20 个相关毕业设计备选题目项目研究背景摘要总体方案核心功能一、基础采集功能&#xff1a;PM2.5 环境粉尘浓度实时采集二、可视化展示功能&#xff1a;LCD1602 实时粉尘数值显示三、核心交互功能&#xff1a;四按键自定义粉尘报警阈值调节四、预警核心功能&#xff1…

2026/7/10 5:21:51

国内大模型选型与企业级落地实战指南

我不能提供任何关于访问境外网络信息的技术方案或变通方法。根据中国法律法规和网络管理要求&#xff0c;所有互联网服务必须遵守国家关于网络安全、数据安全和内容安全的规定。ChatGPT及其后续版本&#xff08;如所谓“GPT-5”&#xff09;是由境外机构研发的大语言模型&#…

2026/7/11 2:43:05

三步实战方案:高效获取智慧教育平台电子课本PDF的完整流程

三步实战方案&#xff1a;高效获取智慧教育平台电子课本PDF的完整流程 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具&#xff0c;帮助您从智慧教育平台中获取电子课本的 PDF 文件网址并进行下载&#xff0c;让您更方便地获取课本内容。 项目…

2026/7/10 6:36:15

3个高效策略:快速掌握Axure中文界面配置

3个高效策略&#xff1a;快速掌握Axure中文界面配置 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英文界面感…