import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param number int整型 
     * @return int整型
     */
    public int jumpFloor (int number) {
        // write code here
        //dp[i]表示跳上一i级的台阶有多少种跳法
        if(number==1) return 1;//这句很重要,number=1,dp[2]=2会有数组越界异常,不能使用 return dp[number]返回

        int []dp=new int[number+1];
        dp[0]=0;dp[1]=1;dp[2]=2;
        for(int i=3;i<=number;i++){
     //dp[i]=dp[i-1]+dp[i-2]+1 +1是到dp[i-2]级台阶,一级一级跳(错误)因为dp[i]=dp[i-1]+dp[i-2]就是差一个台阶的跳法+差两个台阶的跳法
            //+dp[i-2],到dp[i-2]级台阶跳上两级
            dp[i]=dp[i-1]+dp[i-2];
        }
         return dp[number];
    }
}