gpt4 book ai didi

algorithm - 有效评估递归函数?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:47:05 24 4
gpt4 key购买 nike

我在之前的采访中遇到了一个有趣的谜题。您需要实现满足以下条件的功能:

m, n - positive integer numbers > 0
F(m, n) = F(m-1, n-1) + F(m, n-1)
F(1, n) = 1
F(m, 1) = 1

显然你可以编写递归实现:

int F(int m, int n)
{
if(m == 1) return 1;
if(n == 1) return 1;
return F(m-1, n-1) + F(m, n-1);
}

但是对于等于 10 亿的输入数据,它将运行很长时间,因为它将获得 2^1000000000 次迭代:)有人知道如何优化此解决方案吗?

最佳答案

function F(m, n)
v = 1
s = 1
k = 1
while k < m do
v = v * (n-k) / k
s = s + v
k = k + 1
end
return s
end

关于algorithm - 有效评估递归函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17477463/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com