package main

/**
 * 
 * @param number int整型 
 * @return int整型
*/
func jumpFloor( number int ) int {
    // write code here
    //递归方式
    if number == 0 || number == 1  {
        return 1
    }
    return jumpFloor(number - 1) + jumpFloor(number - 2)   
    
    //动态规划记录表
//     dp := make([]int,number + 1)
//     dp[0],dp[1] = 1,1
    
//     for i:=2;i<number+1;i++ {
//         dp[i] = dp[i-1] + dp[i-2]
//     }
//     return dp[number]
    
    //动态规划基础上压缩空间 记忆化搜索法
    prev,cur := 1,1
    for i := 2 ; i < number + 1;i++ {
        temp := cur
        cur = prev + cur
        prev = temp
    }
    return cur
}