【发布时间】:2012-07-09 04:39:47
【问题描述】:
我最近做了一个测试......这个问题很长,解决方案归结为 F(n) = 2*F(n-1) + 2*F(n-2)...
我有一个使用动态规划的 O(n) 解决方案......但是,考官并不满意......
我的解决方案是在计算时将每个 F(n) 简单地存储在一个数组中。花了 O(n) 时间。 由于我们只需要前两个元素,因此只需使用两个变量,就可以解决空间问题。
但是 O(n) 不够快...
该函数看起来像斐波那契函数,并且可以在 O(lg n) 时间内生成一个斐波那契数......但我无法为我的问题得到一个 O(lg n) 求解......
所以我的问题是如何提高函数的时间复杂度?
【问题讨论】:
-
这看起来与几个小时前提出的问题非常相似:stackoverflow.com/questions/11381277/…
-
这是我在过去 2-3 周内第五次看到这个问题。某个地方的某位教授一定非常喜欢在他/她的讲座中提及这个网站。
标签: algorithm