#1. 判断x行是否有皇后
for i in range(0, y):
if board[x][i] == 1:
return False
这里判断x行是否有皇后,其实可以省略这一步骤,在put_queen方法里对step行遍历的时候,即使step行前面的元素有放过皇后,在递归完成时也已经恢复了现场,所以在判断(x,y)位置是否可以放皇后时,x行内y位置之前也不会出现皇后
for i in range(0, y):
if board[x][i] == 1:
return False
这里判断x行是否有皇后,其实可以省略这一步骤,在put_queen方法里对step行遍历的时候,即使step行前面的元素有放过皇后,在递归完成时也已经恢复了现场,所以在判断(x,y)位置是否可以放皇后时,x行内y位置之前也不会出现皇后
2020-02-18
import functools
@functools.lru_cache(None)
def fib(n):
if n<2:
return n
return fib(n-1)+fib(n-2)
可以试下这个装饰器
@functools.lru_cache(None)
def fib(n):
if n<2:
return n
return fib(n-1)+fib(n-2)
可以试下这个装饰器
2020-02-14
第五个月的数量老师算错了吧,应该是10只。也就是说这个问题还是斐波那契数列问题中的 f(n) = f(n-1) + f(n-2)的情况,而不是 f(n) = f(n-1) + f(n-3)的情况。
2019-12-16