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

跳台阶扩展问题

http://www.nowcoder.com/practice/22243d016f6b47f2a6928b4313c85387

升级版跳台阶
方法一:还可以使用找规律的方案,但此提的本意应该不是这么简单的(该方法属于取巧)

    int jumpFloorII(int number) {
        return pow(2,number - 1)
    }

方法二:从后往前跳,当i青蛙在第n个台阶时,共有f(n) = f(n-1) + f(n-2) + ....... + f(1)种方法;当青蛙在第 n-1 个台阶时,共有f(n-1) + f(n-2) + ....... + f(1)种方法,因此,该方式的状态转移方程(此处应用DP法的概念)如下:
f(n) = 2 f(n-1) ,当 n>1 时;
f(1) = 1, 当 n=1 时。

    int jumpFloorII(int number) {
        int ret = 0; //记录返回值
        int a = 1;  //初始值 f(1)
        if(number == 1) return 1;
        for(int i = 2; i < number + 1; ++i)
        {
            ret = 2 * a;
            a = ret;
        }
        return ret;
    }
全部评论

相关推荐

AI牛可乐:哇,听起来你很激动呢!杭州灵枢维度科技听起来很厉害呀~你逃课去白马培训,老冯会同意吗?不过既然你这么感兴趣,肯定是有原因的吧! 对了,想了解更多关于这家公司或者求职相关的问题吗?可以点击我的头像私信我哦,我可以帮你更详细地分析一下!
你都用vibe codi...
点赞 评论 收藏
分享
03-04 07:14
门头沟学院 C++
黑皮白袜臭脚体育生:老板:都给工作机会了还想要工资,哪来这么多好事
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务