import java.util.Arrays;
public class Solution {
    public int jumpFloor(int target) {
        // 动态规划
        int[] dp = new int[target+1];
        Arrays.fill(dp, -1);
        for(int i=1;i<dp.length;i++){
            dp[i] = getJumpNums(dp, i);
        }
        return dp[dp.length-1];
    }

    public int getJumpNums(int[] dp, int n){
        if(n == 0) return 0;
        if(n == 1) return 1;
        if(n == 2) return 2;
        if(dp[n]!=-1) return dp[n];
        return getJumpNums(dp, n-1) + getJumpNums(dp, n-2);
    }
}