题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
示例1
输入
复制
1
返回值
复制
1
示例2
输入
复制
4
返回值
复制
5

public class Solution {
    public int JumpFloor(int target) {
        //方法一:递归  326ms   9820KB
//         if(target==1){
//             return 1;
//         }
//         if(target==2){
//             return 2;
//         }
//         return JumpFloor(target-1)+JumpFloor(target-2);
        //方法二:动态规划  13ms  9668kB
        if(target==1){
            return 1;
        }
        if(target==2){
            return 2;
        }
        int[] ans=new int[target];
        ans[0]=1;
        ans[1]=2;
        for(int i=2;i<target;i++){
            ans[i]=ans[i-1]+ans[i-2];
        }
        return ans[target-1];
    }
}