题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
int jumpFloorII(int number) {
if(number<=0)
return 0;
if(number==1)
return 1;
if(number==2)
return 2;
if(number==3)
return 4;
int *array=new int[number+1];
array[0]=0;
array[1]=1;
array[2]=2;
array[3]=4;
for(int i=4;i<=number;i++){
int tmp=0;
for(int j=1;j<i;j++){
tmp+=array[j];
}
array[i]=tmp+1;
}
return array[number];
}
需要将前面所有的跳法累加,并加上从底部直接跳上当前台阶的一种方法。