令h(0)=1,h(1)=1,卡塔兰数满足递归式:
h(n)= h(0)*h(n-1) + h(1)*h(n-2) + ... + h(n-1)h(0) (其中n>=2),这是n阶递推关系;
还可以化简为1阶递推关系: 如h(n)=(4n-2)/(n+1)*h(n-1)(n>1),h(0)=1
class Solution:
def catalan(self, n):
def dfs(n):
if n == 1 or n == 0:
return 1
else:
return (4*n-2)/(n+1)*dfs(n-1)
return int(dfs(n))
print(Solution().catalan(9))