Leetcode52. N-Queens II
class Solution:
def totalNQueens(self, n: int) -> int:
if n<1:
return 0
if n==1:
return 1
self.count = 0
queens = list(range(0,n))
self.permutation(queens,0)
return self.count
def permutation(self,queens,index):
if index==len(queens)-1:
if self.isValid(queens):
self.count+=1
return
for i in range(index,len(queens)):
self.swap(queens,i,index)
self.permutation(queens,index+1)
self.swap(queens,i,index)
def swap(self,aList,i,j):
temp = aList[i]
aList[i] = aList[j]
aList[j] = temp
def isValid(self,queens):
for i in range(len(queens)):
for j in range(i+1,len(queens)):
if abs(i-j)==abs(queens[i]-queens[j]):
return False
return True
Runtime: 1288 ms, faster than 5.10% of Python3 online submissions for N-Queens II.
Memory Usage: 13.3 MB, less than 5.88% of Python3 online submissions for N-Queens II.

浙公网安备 33010602011771号