這是我的代碼,並想知道爲什麼它變成無限循環?謝謝。爲什麼我的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 ,我做了調試,但沒有想法爲什麼它成爲無限循環。如果你有任何見解,它將會很棒。 :( –