简单爬楼梯
一个人爬楼梯,一次最多只能爬3级,问爬上15级楼梯一共有多少种方法?
一般遇到这种问题我们可以考虑递归,从最后开始考虑。因为一次性最多只能爬3级楼梯,那么想爬上15级楼梯无非就是以下三种情况:
1.从14级楼梯爬1级上去
2.从13级楼梯爬2级上去
3.从12级楼梯爬3级上去
设爬n级楼梯的方法数为f(n),则f(15) = f(14) + f(13) + f(12),又因为f(1)=1,f(2)=2,f(3)=4,所以递归写法就一目了然了:
int jumpFloor(int n)
{
if(1 == n)return 1;
if(2 == n)return 2;
if(3 == n)return 4