LeetCode Hot100 51.N皇后

news2024/12/23 18:34:45

题目

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

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

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

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

思路

class Solution {
    private int n;
    private int[] col;
    private List<List<String>> ans = new ArrayList<>();

    public List<List<String>> solveNQueens(int n) {
        this.n = n;
        col = new int[n];
        dfs(0);
        return ans;
    }

    private void dfs(int r) {
        if (r == n) { // 所有皇后放好了
            List<String> tmp = new ArrayList<>();
            for (int i : col) {
                char[] row = new char[n];
                Arrays.fill(row, '.');
                row[i] = 'Q';
                tmp.add(new String(row));
            }
            ans.add(tmp);
            return;
        }
        for (int c = 0; c < col.length; c++) {
            if (valid(r, c)) {
                col[r] = c;
                dfs(r + 1);
            }
        }
    }

    private boolean valid(int r,int c) {
        for (int R = 0; R < r; R++) {
            int C = col[R];
            if ((c == C) || ((R + C) == (r + c) || (R - C) == (r - c)))
                return false;
        }
        return true;
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1322629.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Everything 搜索

正则表达式Regex 首先需要开启 Everything 工具在&#xff08;字符串&#xff09;查找时&#xff0c;对正则表达式功能的支持&#xff1a; 需要在【菜单栏】⇒ 【Search】⇒ 勾选【Enable Regex】 查看Everything 支持的语法:

统一大语言模型和知识图谱:如何解决医学大模型-问诊不充分、检查不准确、诊断不完整、治疗方案不全面?

统一大语言模型和知识图谱&#xff1a;如何解决医学大模型问诊不充分、检查不准确、诊断不完整、治疗方案不全面&#xff1f; 医学大模型问题如何使用知识图谱加强和补足专业能力&#xff1f;大模型结构知识图谱增强大模型的方法 医学大模型问题 问诊。偏离主诉和没抓住核心。…

强化学习--DQN

DQN 强化学习 DQN深度网络经验回放目标网络 深度网络 一个神经网络能够将输入向量映射到输出向量&#xff0c;这个映射过程可以用下式表示。 某种意义上来说&#xff0c;神经网络就是一个函数&#xff0c;只不过不同于一般的数值函数&#xff0c;它的输入输出都是向量&#x…

在vue中通过js动态绘制table,并且合并连续相同内容的行,支持点击编辑单元格内容

首先是vue代码 <template><div id"body-container"style"position: absolute"><div class"box-container"><div class"lsb-table-box" ><div class"table-container" id"lsb-table"&…

GO 的 socks5代理 编写

这里学习一下 socks5 代理的编写 网上有很多 学习一下 go 语言实战入门案例之实现Socks5 - 知乎 滑动验证页面 socks5协议原理学习-腾讯云开发者社区-腾讯云 (tencent.com) 首先我们要了解一下socks5的代理方式 socks5 是基于 认证建立连接转发数据 所形成的代理 我们只…

记录一下github深度学习的错误

1.[visdom]无法正常启动服务问题解决 在Anaconda命令窗口中&#xff1a; 使用python -m visdom.server启动visdom服务时&#xff0c;卡在&#xff1a; Checking for scripts. Downloading scripts, this may take a little while 无法下载和启动服务。 ERROR&#xff1a;由…

JS逆向实战——开发者工具检测

说明&#xff1a;仅供学习使用&#xff0c;请勿用于非法用途&#xff0c;若有侵权&#xff0c;请联系博主删除 作者&#xff1a;zhu6201976 一、背景 在JS逆向领域&#xff0c;Chrome开发者工具是核心&#xff0c;抓包、调试、看调用栈等都离不开它。可以说&#xff0c;逆向人…

PFA洗瓶耐温范围广应用化学实验耐强酸

PFA洗瓶&#xff1a;科技让实验更便捷 在实验室里&#xff0c;洗瓶是常用工具之一。而PFA洗瓶则是一种特殊塑料制作的洗瓶&#xff0c;它的外观半透明&#xff0c;方便观察液体。 PFA洗瓶的耐温范围非常广&#xff0c;可以承受-200℃到260℃的温度&#xff0c;这意味着它可以…

vmware离线安装docker-compose

vmware离线安装docker-compose 最近安装docker-compose&#xff0c;发现git取拉取&#xff0c;不是拒绝连接就是报443错误&#xff0c;或者其他错误 最后发现用包直接传上去好用&#xff0c;不用git拉取了 离线安装docker-compose 本文章给的docker-compose离线包&#xff0c;…

超短焦投影仪是不是智商税?实测分享,当贝U1用起来是真的香

选购投影仪的时候&#xff0c;很多人都是先看亮度、分辨率等参数&#xff0c;而我的建议是先看投射比。因为用过投影仪的朋友都知道&#xff0c;投影仪对空间的距离是有要求的&#xff0c;如果你买的是投射比为1.2:1的投影仪&#xff0c;那么可能在小空间里就没法施展&#xff…

HTML_有哪些字体样式及使用

文章目录 &#x1f431;‍&#x1f409;一、字体样式的基本概念&#xff1a;&#x1f431;‍&#x1f409;二、css字体样式属性有&#xff1a;&#x1f923;1、设置字体类型&#xff08;font-family&#xff09;&#x1f923;2、设置字体大小&#xff08;font-size&#xff09;…

CogVLM与CogAgent:开源视觉语言模型的新里程碑

引言 随着机器学习的快速发展&#xff0c;视觉语言模型&#xff08;VLM&#xff09;的研究取得了显著的进步。今天&#xff0c;我们很高兴介绍两款强大的开源视觉语言模型&#xff1a;CogVLM和CogAgent。这两款模型在图像理解和多轮对话等领域表现出色&#xff0c;为人工智能的…

B038-Spring基础

目录 mybatis高级查询(动态sql)springspring简介IOC和AOP介绍入门案例导包核心配置文件获取对象 迫切加载和懒加载BeanFactory和ApplicationContext区别和联系spring管理beanDI依赖注入xml注入注解注入(简单介绍 后面用) Spring测试bean的作用域bean的生命周期多例默认是懒加载…

Unity3d C#利用Editor编辑器拓展实现配置UI背景样式一键设置UI背景样式功能(含源码)

前言 在开发UI滚动列表的时候&#xff0c;经常会有每项的背景图不统一的情况&#xff0c;会间隔重复的情况居多。这种情况下&#xff0c;手动去设置间隔一行的背景图或者颜色是比较麻烦的。在此背景下&#xff0c;笔者尝试写个小工具&#xff0c;在搭建UI时配置一下循环背景的…

如何打造自己的知识付费小程序平台

在当今知识付费的浪潮中&#xff0c;我们经常可以看到各种知识付费平台如雨后春笋般涌现。然而&#xff0c;这些平台往往只是一个过客&#xff0c;让我们短暂停留后&#xff0c;便淹没在信息的海洋中。如果你有一个出色的课程&#xff0c;为什么不让它在一个属于你自己的平台上…

人工智能与自动驾驶:智能出行时代的未来之路

一、前言 首先&#xff0c;我们先来说下什么是人工智能&#xff0c;人工智能&#xff08;Artificial Intelligence&#xff0c;简称AI&#xff09;是一门研究如何使计算机系统能够模拟、仿真人类智能的技术和科学领域。它涉及构建智能代理&#xff0c;使其能够感知环境、理解和…

Linux多版本cuda切换

目标 将cuda版本从10.0切换为11.1 步骤 查看当前cuda版本&#xff1a; nvcc -V编辑.bashrc文件&#xff1a; vim ~/.bashrc在文件中添加以下几行&#xff08;若已存在则忽略&#xff09;&#xff1a; export PATH$PATH:/usr/local/cuda/bin export LD_LIBRARY_PATH$LD_LI…

Android解决报错 superclass access check failed: class

Android解决报错 superclass access check failed: class 前言&#xff1a; 最近在打开之前的项目demo时&#xff0c;出现一个错误Cause: superclass access check failed: class butterknife.compiler.ButterKnifeProcessor$RScanner 1.错误信息如下&#xff1a; Executio…

【Ehcache技术专题】「入门到精通」带你一起从零基础进行分析和开发Ehcache框架的实战指南(3-储存方式)

这里写目录标题 Ehcache的存储方式堆内存&#xff08;MemoryStore&#xff09;指定可用内存Xml代码Xml代码Xml代码 驱除策略元素过期Xml代码 非堆内存&#xff08;BigMemory&#xff09;磁盘&#xff08;DiskStore&#xff09;指定可用容量Xml代码 元素过期 Ehcache的存储方式 …

外卖系统海外版:技术智能引领全球美食新潮流

随着全球数字化浪潮的推动&#xff0c;外卖系统海外版不仅是食客们品味美食的便捷通道&#xff0c;更是技术智能在美食领域的引领者。本文将深入剖析其背后的技术实现&#xff0c;揭开代码带来的美食革新。 多语言支持&#xff1a;构建全球美食沟通桥梁 def multilingual_su…