思路:
'''思路: 1.举例发现规律了已得知,后一个数的头节点数等于自身节点数加上前面所有数的节点数目与分叉树的乘积。 2.则递推公式有:dp[i]=dp[i-j]*dp[j-1]+dp[i] 3.确定初始化 对零来说没有意义,则可以从一开始遍历,将0元素初始化为一。 4.确定遍历范围: 当i在n范围内是时,只将i遍历n次即可 j此时在i范围内,则可以遍历i次 5.测试返回结果 '''
class Solution:
def differentBreak(self,n:int)->int:
dp=[0]*(n+1)#
dp[0]=1
for i in range(1,n+1):
for j in range(1,i+1):
dp[i]+=dp[j-1]*dp[i-j]
return dp[n]
r=Solution()
print(r.differentBreak(16))