爬楼梯## JAVA 动态规划,递归
题目:
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。
每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?
注意:给定 n 是一个正整数。
思想:
爬n阶楼梯的方法数应该与爬第n-1阶楼梯的方法数和第n-2阶的方法数有关。
爬到第n-1阶楼梯后,为了到第n阶,只有再走一步的方法;爬到第n-2阶楼梯后,因为到n-1阶的方法前面已经计算在内,所以n-2阶楼梯到n阶楼梯的方法也只有走两步这一种方法。
故爬到第n阶的方法数等于第n-1阶方法数与第n-2阶楼梯的方法数之和。
f(n) = f(n-1) + f(n-2);
以下是动态规划和递归代码