Redian新闻
>
上楼梯问题的时间复杂度是o(n)还是 nlogn?
avatar
上楼梯问题的时间复杂度是o(n)还是 nlogn?# JobHunting - 待字闺中
T*7
1
用dynamic programming的方法。
另外,如果我用纯c做这个题目 没有hashmap。怎么解决?还能得到相同的时间复杂度
avatar
l*8
2
problem:
有一段楼梯有n级台阶,规定每一步只能跨一级或两级或三级,要登上第n级台阶有几种不
同的走法?
solution:
let f(i) denote the number of different methods to climb the stairs.
Then
f(0) = 1
f(1) = 1
f(2) = 2
f(3) = f(0) + f(1) + f(2)
....
f(n) = f(n-3) + f(n-2) + f(n-1)
Is this what you talked about?

【在 T******7 的大作中提到】
: 用dynamic programming的方法。
: 另外,如果我用纯c做这个题目 没有hashmap。怎么解决?还能得到相同的时间复杂度
: 么

avatar
c*p
3
好像递推公式有点问题?

【在 l*********8 的大作中提到】
: problem:
: 有一段楼梯有n级台阶,规定每一步只能跨一级或两级或三级,要登上第n级台阶有几种不
: 同的走法?
: solution:
: let f(i) denote the number of different methods to climb the stairs.
: Then
: f(0) = 1
: f(1) = 1
: f(2) = 2
: f(3) = f(0) + f(1) + f(2)

avatar
l*8
4
let me think again....

【在 c****p 的大作中提到】
: 好像递推公式有点问题?
avatar
c*p
5
类fabonacci的问题应该都能得到复杂度为logn的解吧?

【在 T******7 的大作中提到】
: 用dynamic programming的方法。
: 另外,如果我用纯c做这个题目 没有hashmap。怎么解决?还能得到相同的时间复杂度
: 么

avatar
c*p
6
好像是我想错了。。。

【在 c****p 的大作中提到】
: 好像递推公式有点问题?
avatar
l*8
7
I think it's correct.

【在 c****p 的大作中提到】
: 好像递推公式有点问题?
avatar
g*e
8
the runtime is O(n) space requirement is O(k) where k is the number of
different steps you can make each time.
avatar
c*p
9
logk的时间复杂度和O(1)的空间复杂度就够了吧。。。

【在 g*********e 的大作中提到】
: the runtime is O(n) space requirement is O(k) where k is the number of
: different steps you can make each time.

avatar
l*8
10
应该是: O(k^3 * logn) 时间
O(k^2) 空间 吧??

【在 c****p 的大作中提到】
: logk的时间复杂度和O(1)的空间复杂度就够了吧。。。
avatar
c*p
11
嗯,我那里的k就是n

【在 l*********8 的大作中提到】
: 应该是: O(k^3 * logn) 时间
: O(k^2) 空间 吧??

avatar
p*2
12
run time 为什么是logn呢?
不是要从1算到n吗?
avatar
l*8
13
好像在CLRS 五六十页的地方讲过

【在 p*****2 的大作中提到】
: run time 为什么是logn呢?
: 不是要从1算到n吗?

avatar
l*a
14
fibonacci serials
有个著名的log2n算法
不过我觉得面世中回答那个或者面试者要求那个
的话
真是无聊

【在 p*****2 的大作中提到】
: run time 为什么是logn呢?
: 不是要从1算到n吗?

avatar
c*p
15
[f1 f2 f3] = [f0 f1 f2] * A,
A= [0 0 1; 1 0 1; 0 1 1];
这样[fn fn+1 fn+2] = [f0 f1 f2] * A^n
其中A^n可以用二分法算,logn【 在 peking2 (myfacebook) 的大作中提到: 】
avatar
p*2
16

mark一下先。多谢。

【在 c****p 的大作中提到】
: [f1 f2 f3] = [f0 f1 f2] * A,
: A= [0 0 1; 1 0 1; 0 1 1];
: 这样[fn fn+1 fn+2] = [f0 f1 f2] * A^n
: 其中A^n可以用二分法算,logn【 在 peking2 (myfacebook) 的大作中提到: 】

avatar
s*n
17
费波纳切不是O(1)的时间复杂度么,这个推推也能搞出个公式吧
avatar
a*m
18
为啥A是[0 0 1; 1 0 1; 0 1 1]? 感觉是010; 001; 111,或者是俺想差了?

【在 c****p 的大作中提到】
: [f1 f2 f3] = [f0 f1 f2] * A,
: A= [0 0 1; 1 0 1; 0 1 1];
: 这样[fn fn+1 fn+2] = [f0 f1 f2] * A^n
: 其中A^n可以用二分法算,logn【 在 peking2 (myfacebook) 的大作中提到: 】

avatar
l*8
19
你说的是这个吧:
Fn 约等于 1/sqrt(5) * (1.618...)^ n (黄金分割数的n次方)
算n次方也要O(logn)的

【在 s******n 的大作中提到】
: 费波纳切不是O(1)的时间复杂度么,这个推推也能搞出个公式吧
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。