牛客题霸--跳台阶

跳台阶

题目链接

Solution

每次可以跳上1级台阶,也可以跳上2级。求跳到n级的台阶总共有多少种跳法。
dp可以解决此类计数问题。
设f[i]表示到第i层台阶的方案数,显然$f_1 = 1$, $f_2 = 2$;
有递推式:$f[n] = f_{n - 1} + f_{n-2}$
所以$O(n)$递推一下即可。

class Solution {
public:
    int jumpFloor(int number) {
        if (number == 1) return 1;
        else if (number == 2) return 2;
        else return jumpFloor(number - 1) + jumpFloor(number - 2);
    }
};
posted @ 2020-11-26 20:46  mjt233  阅读(39)  评论(0编辑  收藏  举报