跳台阶问题

来源:互联网 发布:网络教育大专报名 编辑:程序博客网 时间:2024/06/05 02:02

Q:

一个台阶总共有 n 级,如果一次可以跳 1 级,也可以跳 2 级。

求总共有多少跳法,并分析算的时间复杂度 。


A:

这是一道典型的动归问题。第n次问题的解可以由第n-1次、n-2次等等推出。

不妨记跳n级阶梯的跳法为f(n)。

跳n级阶梯的最后一跳要么是1跳要么是2跳。那么我们只要知道跳n-1级阶梯和跳n-2级阶梯的跳法,把他们相加,就可以得出跳n级阶梯的跳法。


f(n) = f(n-1) + f(n-2)

...

...

...

f(2) = 2

f(1) = 1

f(0) = 1     //为了和谐加上去的


这个问题就成了典型的fibo问题。



0 0
原创粉丝点击