剑指Offer-斐波那契数列

问题描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

思路:可能出现的情况:(1) n=1 ,一种方法 ;(2)n=2,两种方法;(3)对于第n阶,只能从第n-1阶或者n-2阶跳上,所以得出结论:

              | 1, (n=1)

f(n) =     | 2, (n=2)

              | f(n-1)+f(n-2) ,(n>2,n为整数)

具体代码:

public static void main(String[] args) {
int a =20;//测试数据
System.out.println(JumpFloor(a));
}

public static 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);
}

 

posted @ 2016-11-08 22:30  starryfei  阅读(390)  评论(0编辑  收藏  举报