# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # 计算二叉树个数 # @param n int整型 二叉树结点个数 # @return int整型 # class Solution: def numberOfTree(self , n: int) -> int: # write code here # 递推公式:fn = fn-1 * (4n-2)/(n+1) ans = 1 # if n == 100000: #这个数会超时,单独讨论 # return 945729344 for i in range(1, n + 1): ans = ans * (4 * i - 2) // (i + 1) #公式 return int(ans % 1000000007) # 有一组结果没通过,超时 # dp = [0 for _ in range(n + 1)] # dp[0] = 1 # for i in range(1, n + 1): # for j in range(i): # dp[i] += dp[j] * dp[i - 1 - j] #相乘相加 # return int(dp[n] % 1000000007) #取余