博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
N-Queens LeetCode OJ
阅读量:6693 次
发布时间:2019-06-25

本文共 1215 字,大约阅读时间需要 4 分钟。

hot3.png

class Solution(object):    def __init__(self):        self.queenList = []        self.result = []        self.charList = []        def solveNQueens(self, n):        for i in range(0,n):            self.charList.append(".")        self.currLayer(0,n)        return self.result                        """        :type n: int        :rtype: List[List[str]]        """    def currLayer(self, x, n):        if(x==n):            result = []            for queen in self.queenList:                self.charList[queen[1]] = "Q"                result.append("".join(self.charList))                self.charList[queen[1]] = "."                      self.result.append(result)            return        for y in range(0,n):            temp = (x,y)            if(self.ableToPutDown(temp)):                self.queenList.append(temp)                self.currLayer(x+1,n)                self.queenList.pop()    def ableToPutDown(self, temp):        for queen in self.queenList:            if( queen[1] == temp[1] ):#same col                return False            elif( abs(queen[0]-temp[0]) == abs(queen[1]-temp[1]) ):#same diagonal                return False        return True

转载于:https://my.oschina.net/joshuashaw/blog/503991

你可能感兴趣的文章
原创《weex面向未来的架构》
查看>>
快速搭建fabric-v1.1.0的chaincode开发环境
查看>>
BZOJ3224普通平衡树——旋转treap
查看>>
eclipse与myeclipse恢复已删除的文件和代码
查看>>
debian old version cd and distribution archives
查看>>
springSecurity初学 安全登录验证
查看>>
ssm整合的springmvc.xml的配置
查看>>
hibernate持久化对象,
查看>>
Android笔记之引用aar
查看>>
【题解】大中小括号匹配
查看>>
JS-取出字符串中重复次数最多的字符并输出
查看>>
\sum的写法
查看>>
解放思想,确定目标,学习知识
查看>>
Windows server 2012同时进行多个会话登陆的策略设置
查看>>
mysql先分组,然后取每个分组中的第2大的记录
查看>>
MongoDB 学习笔记之 GridFS
查看>>
Java 学习笔记之 Daemon线程
查看>>
面向对象,类,构造函数,方法重载
查看>>
在dos控制台显示utf8字符
查看>>
Git学习笔记:pull request
查看>>