题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
code
- 找规律得:f(n)=f(n-1)+f(n-2)+…+f(1)+1
class Solution {
public:
int f[50]={0};//注意初始化
int jumpFloorII(int number) {
//f(n)=f(n-1)+f(n-2)+...+f(1)+1
f[1]=1;
f[2]=2;
for(int i=3; i<=number; i++){
for(int j=1; j<i; j++){
f[i]+=f[j];
}
f[i]+=1;
}
return f[number];
}
};