一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
递归法
public class FrogJumpFootStep {
public static void main(String[] args) {
// System.out.println("main...");
int result = JumpFloor(5);
System.out.println(result);
}
public static int JumpFloor(int target) {
/*
* 跳上target个台阶, 需要先跳到target-1或target-2台阶上
* 依次类推
* */
if(target == 3){
/*
* 跳到第3个台阶,有3种方法
* */
return 3;
}
/*
* 跳到第2个台阶,有2种方法
* 跳到第1个台阶,有1种方法
* 跳到第0个台阶,有0种方法
* */
if(target == 2 || target == 1 || target == 0){
return target;
}
return JumpFloor(target-1) + JumpFloor(target-2);
}
}