可以使用 Python 中的 n 个不同节点生成查找可能 BST 数量的程序
假设我们有一个数字 n。如果我们有像 [1,2,...,n] 这样的数字,我们必须计算可以使用这些 n 值形成的可能 BST 的数量。如果答案太大,则将结果修改为 10^9+7。
所以,如果输入像 n = 3,那么输出将是 14,
示例
让我们看看以下实现以更好地理解 -
def solve(n):a = [0, 1]
m = 10**9+7
max_n = 1000
for k in range(2, max_n + 2):
a.append((1 + sum(a[i] * a[k - i] for i in range(1, k))) % m)
return ((a[n + 1] - 1) % m)
n = 3
print(solve(n))
输入
3输出结果
14
以上是 可以使用 Python 中的 n 个不同节点生成查找可能 BST 数量的程序 的全部内容, 来源链接: utcz.com/z/363272.html