avatar
r*d
1
给定一个数n, 找到k
so that fib(k)<=n
有没有好于O(n)的方法?
avatar
S*h
2
fib(k)本来就是指数级增长,不需要O(n)的时间吧

【在 r**d 的大作中提到】
: 给定一个数n, 找到k
: so that fib(k)<=n
: 有没有好于O(n)的方法?

avatar
k*p
3
fib计算有lgn的解法,按照这样的计算,自然不需要o (n)
avatar
b*e
4
log_{a}^{n}, where a = 1.618.

【在 r**d 的大作中提到】
: 给定一个数n, 找到k
: so that fib(k)<=n
: 有没有好于O(n)的方法?

avatar
v*t
5
好像是 O(logklogk)

【在 r**d 的大作中提到】
: 给定一个数n, 找到k
: so that fib(k)<=n
: 有没有好于O(n)的方法?

avatar
h*6
6
根据通项公式,有O(1)的算法。
avatar
d*l
7
我当时是类似这样的一题。似乎他想要的并不是更好的方法,而是只是想让你写出朴素
的方法,然后考虑整数溢出的情况,把函数写的健壮一点。把细节都弄到位他应该就满
意了。fib数列确实有logn的做法,但不太易于实现。另外用通项会有乘方运算,其实
也并不是O(1)的,应该还是logn的
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。