递归是我们常用的一种方式之一,特别是当表达式比较复杂难以化解成循环来求解的时候。但递归经常会进行重复计算,这无形中增大了计算开销,如果我们可以把计算的中间结果保存起来就好了。python当然优雅的实现了这一点。不多说,直接上代码:
# 函数缓存,maxsize设置缓存多少个最近的值。
from functools import lru_cache
@lru_cache(maxsize=9)
def fbnc(n):
if n <= 1:
return 1
<
递归是我们常用的一种方式之一,特别是当表达式比较复杂难以化解成循环来求解的时候。但递归经常会进行重复计算,这无形中增大了计算开销,如果我们可以把计算的中间结果保存起来就好了。python当然优雅的实现了这一点。不多说,直接上代码:
# 函数缓存,maxsize设置缓存多少个最近的值。
from functools import lru_cache
@lru_cache(maxsize=9)
def fbnc(n):
if n <= 1:
return 1
<