python-leetcode-N 皇后

news/2025/2/25 8:52:54

51. N 皇后 - 力扣(LeetCode)

class Solution:
    def solveNQueens(self, n: int) -> List[List[str]]:
        res = []
        board = [['.'] * n for _ in range(n)]
        
        def is_safe(row, col):
            for i in range(row):
                if board[i][col] == 'Q':
                    return False
                if col - (row - i) >= 0 and board[i][col - (row - i)] == 'Q':
                    return False
                if col + (row - i) < n and board[i][col + (row - i)] == 'Q':
                    return False
            return True
        
        def backtrack(row):
            if row == n:
                res.append([''.join(r) for r in board])
                return
            
            for col in range(n):
                if is_safe(row, col):
                    board[row][col] = 'Q'
                    backtrack(row + 1)
                    board[row][col] = '.'
        
        backtrack(0)
        return res


http://www.niftyadmin.cn/n/5865278.html

相关文章

opencv:距离变换 cv2.distanceTransform

函数 cv2.distanceTransform() 用于计算图像中每一个非零点像素与其最近的零点像素之间的距离&#xff08;Distance Transform&#xff0c; DT算法&#xff09;,输出的是保存每一个非零点与最近零点的距离信息&#xff1b;图像上越亮的点&#xff0c;代表了离零点的距离越远。 …

halcon三维点云数据处理(二十五)moments_object_model_3d

目录 一、moments_object_model_3d例程二、moments_object_model_3d函数三、效果图一、moments_object_model_3d例程 这个例子说明了如何使用moments_object_model_3d运算符来将3D数据与x、y、z坐标轴对齐。在实际应用中,通过3D传感器获取的物体模型可能具有一个与物体主轴不…

C++中tuple的用法

C中tuple的用法 在C中&#xff0c;std::tuple 是一个模板类&#xff0c;用于存储一组不同类型的值。它类似于 Python 中的元组&#xff0c;但具有更强大的功能&#xff0c;例如支持不同类型的元素和更复杂的操作。std::tuple 是 C11 标准引入的&#xff0c;位于 <tuple>…

java23种设计模式-工厂方法模式

工厂方法模式&#xff08;Factory Method Pattern&#xff09;学习笔记 &#x1f31f; 定义 工厂方法模式属于创建型设计模式&#xff0c;定义一个创建对象的接口&#xff0c;但让子类决定实例化哪一个类。将类的实例化操作延迟到子类&#xff0c;是面向对象设计中"开闭…

OPPO发布新型折叠屏手机 起售价8999

在竞争激烈的智能手机市场&#xff0c;折叠屏手机作为高端科技的代表&#xff0c;一直备受关注。2025年2月20日晚&#xff0c;OPPO推出最新一代折叠屏旗舰手机Find N5&#xff0c;以其极致轻薄的设计、全面升级的性能和创新的功能&#xff0c;再次成为行业焦点。这款起售价8999…

在大数据项目中如何设计和优化数据模型

在大数据项目中&#xff0c;设计和优化数据模型是一个涉及多个步骤和维度的复杂过程。以下是我通常采取的方法&#xff1a; 一、数据模型设计 明确业务需求&#xff1a; 深入了解项目的业务场景和目标&#xff0c;明确数据模型需要解决的具体问题。与业务团队紧密合作&#xf…

Python GUI

Python GUI pip install PyQt5 pip install PySide2 pip install wxPython 这个下载太久了 import tkinter as tk def main(): # 创建主窗口 root tk.Tk() root.title("Hello World") # 创建一个标签&#xff0c;显示文本 label tk.Lab…

《计算机视觉OpenCV》——对视频中的文档进行实时检测和处理实例

对视频中的文档进行实时检测和处理 项目介绍&#xff1a;主要实现了从摄像头实时捕获视频流&#xff0c;检测其中的文档&#xff08;四边形物体&#xff09;&#xff0c;并对检测到的文档进行透视变换和二值化处理的功能。 综合运用了摄像头操作、图像处理、轮廓检测、透视变换…