道招

走到N层台阶有多少种走法

如果您发现本文排版有问题,可以先点击下面的链接切换至老版进行查看!!!

走到N层台阶有多少种走法

假设题目是有N层台阶,每次可以走一层或者两层,总共有几种走法。 首先我们不能简单的想到从小到大来求解,这种题需要用到数学归纳法,要先从N开始求解。首先想到既然要到N层,他能怎么到呢?只能是从第N-1层走一层到达N层,或者从N-2层一次走两层到达N层,只有这两种走法,所以我们很自然的想到f(n) = f(n-1) + f(n-2)了。然后我们很轻松的知道f(1) = 1,f(2) =2

function f(n) {
    if(n < =1) return 1;
    if(n===2) return 2;
    return f(n-1) + f(n-2)
}

是不是看到了斐波那契数列了? 那尾调用优化肯定要问的

function f(n, a = 1, b =1) {
    if(n <=1) return b;
    return f(n – 1, b, a + b);
}
更新时间:
上一篇:下一篇:

相关文章

关注道招网公众帐号