题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法?
分析
这个题目从一个青蛙可以跳上1级台阶,也可以跳上2级台阶这句话就可以看出一个青蛙要最终达到n的台阶,必定是从n-2级的台阶一次跳2级或者从n-1级的台阶一次跳一级跳上来。所以到达n级的台阶方法数等于n-2级与n-1级的方法数之和。
代码
int jumpFloor(int number) {
vector<int> v(number+1);
v[1]=1;
v[2]=2;
for(int i=3;i<=number;++i)
{
v[i]=v[i-1]+v[i-2];
}
return v[number];
}