1.思路
- 如果两种跳法,1阶或者2阶。
- 假定第一次跳的是1阶,那么剩下的是n-1个台阶,跳法是
f(n-1); - 假定第一次跳的是2阶,那么剩下的是n-2个台阶,跳法是
f(n-2); - 因此可以得出总跳法为:
f(n) = 1*f(n-1) + 1*f(n-2) - 通过实际的情况可以得出:只有一阶的时候
f(1) = 1,只有两阶的时候可以有f(2) = 2 - 因此这是一个
斐波那契数列,可以用递归来写.
2.代码
public int jumpFloor(int target) {
if(target<=0){
return 0;
}else if(target==1){
return 1;
}else if(target==2){
return 2;
}else{
return jumpFloor(target-1)+jumpFloor(target-2);
}
}