题解 | #跳台阶扩展问题#

跳台阶扩展问题

https://www.nowcoder.com/practice/22243d016f6b47f2a6928b4313c85387?tpId=13&&tqId=11162&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking

C++
思路:可以想到用递归的思路。n阶台阶可以一次跳1、2、3、...、(n-1)、n阶,假设跳n阶台阶有F(n)种跳法,那么F(n)=1+F(n-1)+F(n-2)+...+F(3)+F(2)+F(1),其中1表示一次跳n阶只有一种跳法。
根据这个公式写递归函数可以得到如下代码:

class Solution {
public:
    int jumpFloorII(int number) {
        int count=1;
        for(int i=1;i<number;i++)
        {
            count+=jumpFloorII(number-i);
        }
        return count;
    };

};
牛客刷题记录 文章被收录于专栏

记录自己的刷题记录,刷过的题的解法

全部评论

相关推荐

点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务