Python | Leetcode Python题解之第51题N皇后

embedded/2024/10/18 22:36:58/

题目:

题解

class Solution:def solveNQueens(self, n: int) -> List[List[str]]:def generateBoard():board = list()for i in range(n):row[queens[i]] = "Q"board.append("".join(row))row[queens[i]] = "."return boarddef backtrack(row: int):if row == n:board = generateBoard()solutions.append(board)else:for i in range(n):if i in columns or row - i in diagonal1 or row + i in diagonal2:continuequeens[row] = icolumns.add(i)diagonal1.add(row - i)diagonal2.add(row + i)backtrack(row + 1)columns.remove(i)diagonal1.remove(row - i)diagonal2.remove(row + i)solutions = list()queens = [-1] * ncolumns = set()diagonal1 = set()diagonal2 = set()row = ["."] * nbacktrack(0)return solutions

http://www.ppmy.cn/embedded/19698.html

相关文章

iOS(Object C) 插入排序

插入排序的思想: 可以想象你在打牌,手里有一张牌2, 第一次摸到一张牌5; 5 比1 大,所以摸到的牌5放在1的右边; (此时手里的牌为 2->5) 第二次摸到一张牌3; 3比5小,所以3和5互换位置,再拿3和2比,3比2大,3不动(此时手里的牌为 2-> 3 -> 5) 第三次摸到一张牌1,1比5小,…

【总结】CycleGAN+YOLOv8+DeepSORT

本文章仅对本人前期工作进行总结,文章内容供读者参考,代码不对外公开 文章目录 1、CycleGAN1.1 数据集配置1.2 环境配置1.3 参数配置1.4 可视化训练过程1.5 训练结果1.5 结果测试 2、YOLOv82.1 数据集配置2.2 网络结构配置2.3 训练细节2.4 测试 3、Deep…

java:基于guava ClassPath工具实现基于包名(package)的类扫描

google的guava库提供了一个类路径扫描的实用工具ClassPath(参见说明&#xff1a; https://github.com/google/guava/wiki/ReflectionExplained#classpath)工具&#xff0c;适用于非android的Java平台搜索类。基于它可以设计一个过滤包名的搜索工具。 导入依赖库 <dependen…

NDK 基础(二)—— C++ 语言基础与特性1

1、C 语言基础 本节主要还是了解一些 C 的基本用法以及与 C 语言的不同/改进之处。比如说&#xff0c;C 是面向对象的语言&#xff0c;C 是面向过程的语言。 1.1 Hello, C 熟悉 C 的标准 IO 库、命名空间以及基本的输入输出方法&#xff1a; // 导入 C 的标准输入输出库 #i…

中颖51芯片学习7. printf重定向到串口与自定义日志输出函数

中颖51芯片学习7. printf重定向到串口与自定义日志输出函数 一、 printf 重定向1. 概念2. 实现方式3. C51 中printf数值格式化 二、日志函数1. 实现方案分析2. 代码&#xff08;1&#xff09;log_utils.h&#xff08;2&#xff09;main.c 3. 通过预定义宏实现日志分级输出&…

算法学习之单调栈

发射站 题目描述 某地有 N N N 个能量发射站排成一行&#xff0c;每个发射站 i i i 都有不相同的高度 H i H_i Hi​&#xff0c;并能向两边&#xff08;两端的发射站只能向一边&#xff09;同时发射能量值为 V i V_i Vi​ 的能量&#xff0c;发出的能量只被两边最近的且比…

【CSS】CSS实现元素逐渐消失(实现元素透明逐渐消失/模糊)

mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 10%);mask-image 属性用于定义一个遮罩&#xff0c;它可以隐藏元素的一部分或全部内容。在这个示例中&#xff0c;我们使用 mask-image 属性来定义一个线性渐变的遮罩&#xff0c;使得列表项的内…

iOS AVPlayer

参考文章 AVPlayer的基本使用