上楼梯(跳台阶)

    技术2025-05-15  59

    问题描述

    楼梯有n阶台阶,上楼可以一步上1阶,也可以一步上2阶,走完n阶台阶共有多少种不同的走法

    解题思路: 假设n阶台阶有f(n)种走法,第一步有2种走法 1.如果上1阶,那就还剩n-1阶,共有f(n-1)种走法 2.如果上2节,那就还剩n-2阶,共有f(n-2)种走法 所以f(n) = f(n-1) + f(n-2).

    代码如下:

    class ClimbStairs { public: int climb(int n) { if (n <= 2) { return n; } return climb(n - 1) + climb(n - 2); } };
    Processed: 0.009, SQL: 9