Closed. This question needs details or clarity. It is not currently accepting answers. Learn more
想改进这个问题吗?添加细节并通过editing this post澄清问题。
在解决问题时,我遇到了以下顺序:

 3, 9, 21, 46, 94, 185, 353...

我们必须找到序列的第n项。
Answer should have complexity of O(1).

最佳答案

这是这类问题的元算法首先,在OEIS上查找序列:
http://oeis.org/search?q=3%2C+9%2C+21%2C+46%2C+94%2C+185%2C+353&language=english&go=Search
查看公式部分并找到

a(n) = n*F(n+2)-F(n+3)+2,

其中F是斐波纳契函数用afast Fibonacci implementation在o(log n)算术运算中计算此公式。
O(1)在合理的机器模型中是不可行的。

关于algorithm - 找到系列的第N个词,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43706410/

10-11 16:36