题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
每一级可能从前一级和前两集跳上来的
普通递归
代码语言:javascript复制public int jumpFloor(int target) {
if (target==1){
return 1;
}
if (target==2){
return 2;
}
//可能从前一级和前两集跳上来的
return jumpFloor(target-1) jumpFloor(target-2);
}
自底向上推导法,减少重复计算
代码语言:javascript复制public int jumpFloor(int target) {
if (target==0||target==1){
return target;
}
int sum=1;
int one =1;
for (int i = 2; i <=target ; i ) {
sum=sum one;
one=sum-one;
}
return sum;
}