您的位置:首页 > 产品设计 > UI/UE

LeetCode-52-N-Queens II 同前一题

2017-09-19 18:56 453 查看
class Solution(object):
N=0
P=[]
ans=0
def totalNQueens(self, n):
"""
:type n: int
:rtype: List[List[str]]
"""
self.N=n
self.ans=0
self.dfs(n,0)

return self.ans

def dfs(self, n, raw):
if(n==0):
self.ans+=1
return
for i in range(raw*self.N,raw*self.N+self.N):
if self.judge(i):
self.P.append(i)
self.dfs(n-1,raw+1)
self.P.pop()

def judge(self,p):
x=p/self.N
y=p%self.N
for i in range(len(self.P)):
curx=self.P[i]/self.N
cury=self.P[i]%self.N
if curx==x or cury==y or abs(curx-x)==abs(cury-y):
return False
return True
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: