题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
/*对于k>=3的跳法来说,有两个可能,一种是从k-1跳上来(1步),一种是从
k-2跳上来(2步)即possible_way[k]=possible_way[k-1]+possible_way[k-2],
也就是从前一个台阶跳上来的跳法次数加上从前两个台阶跳上来的跳法次数,类似于数学
归纳法*/
int jumpFloor(int number) {
if(number==1)return 1;
else if(number==2)return 2;
vector<int> vec(number,0);
vec[0]=1;
vec[1]=2;
for(int i=2;i<number;++i)
{
vec[i]=vec[i-1]+vec[i-2];
}
return vec[number-1];
}