爬梯子问题:需要爬一个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.youkuaiyun.com/linhuanmars/article/details/23976963