规律:f(1)=1,f(2)=2,f(3)=f(2)+f(1),f(n)=f(n-1)+f(n-2)
结果完全依赖于前两阶梯方法之和
1.递归

int method(int n){
    if(n<=2){
        return n;
    }
    return method(n-1)+method(n-2);
}

2.动态规划

int method(int n){
    if(n<=2){
        return n;
    }
    int pre2=1,pre1=2;//首次执行到这里,说明n=3。先把之前两阶梯的值取出来,因为第三次依赖于前两层
    for(int i=2;i<n;i++){
        int cur=pre1+pre2;//第三层的结果
        pre2=pre1;//更新n-2层的结果,为了下一次循环
        pre1=cur;//更新n-1层的结果,为了下一次循环
    }
    return pre1;
}