Leetcode—第70题

来源:互联网 发布:景安网络是干什么的 编辑:程序博客网 时间:2024/05/17 01:24

爬梯子问题:需要爬一个n阶梯顶,每次可以爬1步或2步,请问有多少中方法?

分析:对于第n阶梯子,即顶端,可以1步爬上去,也可以2步爬上去,那么方法数等于两种爬法的总和,即爬上第n-1阶梯子的方法加上爬上第n-2阶梯子的方法,

可以得到一个关系式,F(n)=F(n-1)+F(n-2),这个式子就是斐波那契数列的关系式(其实它是有通项公式的,可以在百科上查到)。而对于1阶梯子,F(1)=1,而2阶梯子,F(2)=2,依此类推

这种有关状态问题一般用动态规划算法,即DP算法,来解决。


上述解法一递归的方法耗时太长,不建议使用。

除了上述解法,还可以有其它解法,详情请参考:

https://yq.aliyun.com/articles/3876

http://blog.csdn.net/linhuanmars/article/details/23976963

阅读全文
0 0
原创粉丝点击