题目描述:
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
解题思路:
有分析可得,n阶可以由n-1阶迈一步过来,也可以由n-2阶迈两步过来,故f(n)=f(n-1)+f(n-2),n>=2,f0=1,f2=2,可得到递归公式,可以使用递归,也可以使用非递归方法得到。
代码(java):
public class Solution {
public int JumpFloor(int target) {
if(target==1)return 1;
if(target==2)return 2;
return JumpFloor(target-2)+JumpFloor(target-1);
}
}