这是我的代码,并想知道为什么它变成无限循环?谢谢。为什么我的8皇后问题无限循环?
class Solution(object):
def Valid(self,result):
currentX = len(result) - 1
currentY = result[-1]
if currentX == 0:
return True
for i in range(0, len(result) - 1):
if result[i] == currentY:
return False
elif abs(i - currentX) == abs(result[i] - currentY):
return False
return True
def NQueens(self, result):
if result == []:
row = 0
else:
row = len(result)
for col in range(0, 8):
result.append(col)
if self.Valid(result) == True:
print "check valid ok", row, col, result
if row == 7:
print "result ok", result
else:
self.NQueens(result)
result.pop(-1)
return
if __name__ == "__main__":
s = Solution()
s.NQueens([])
在此先感谢, 林
使用任何IDE,比如pycharm调试代码 –
@Jack ,我做了调试,但没有想法为什么它成为无限循环。如果你有任何见解,它将会很棒。 :( –