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
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
相关文章推荐
- LeetCode 52 N-Queens II
- leetcode[52]N-Queens II
- Leetcode 52 N-Queens II 回溯搜索
- LeetCode(52) N-Queens II
- [leetcode 52] N-Queens II
- LeetCode(52) N-Queens II
- leetcode-52-N-Queens II
- [Leetcode 92] 52 N-Queens II
- LeetCode52——N-Queens II
- Leetcode52: N-Queens II
- Leetcode52 N-Queens II
- LeetCode_52---N-Queens II
- [LeetCode]52 N-Queens II
- Leetcode 52 N-Queens II
- 8.18 [LeetCode 52] N-Queens II
- LeetCode52 N-Queens II
- leetcode[52]:N-Queens II
- LeetCode52:N-Queens II
- LeetCode 52 N-Queens II
- leetcode hard模式专杀之52 N-Queens II