一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
class Solution {
public:
int jumpFloorII(int number) {
int array_jumpFloor[number];
private_jumpFloor(array_jumpFloor,number);
return array_jumpFloor[number-1];
}
private:
void private_jumpFloor(int* array_jumpFloor, int number){
for(size_t i=1;i<number+1;++i){
if(i==1){
array_jumpFloor[i-1]=1;
}
else if(i==2){
array_jumpFloor[i-1]=2;
}
else{
size_t j=i;
array_jumpFloor[i-1]=1;
while(j>=2){
array_jumpFloor[i-1]+=array_jumpFloor[j-2];
--j;
}
}
}
}
};