我想使用记忆来计算加泰罗尼亚语数字,但它似乎不起作用,我需要改变什么?
def catalan_mem(n, memo = None):
if n==0:
return 1
if memo == None:
memo = {}
b=0
if n not in memo:
for i in range (n):
b+=((catalan_mem(i),memo)[0])*((catalan_mem(n-1-i),memo)[0])
memo[n]=b
return memo[n]
谢谢你!
答案 0 :(得分:0)
如果您在catalan_mem
的{{1}}上致电n
,则将memo
替换为0.这可能不是您想要的。
如果不进一步解析逻辑,则表明memo[n]
应位于memo[n]=b
块内。