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

跳台阶扩展问题

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

反过来,比如青蛙站在第n阶台阶,那么第一次它的跳法有:
(n-1)、(n-2)、(n-3)......(n-n)这么多种,
如果它第一次跳法为:(n-1),那么接下来跳法有:(n-1)-1、(n-1)-2、(n-1)-3......(n-1)-n这么多种;
如果它第一次跳法为:(n-2),那么接下来跳法有:(n-2)-1、(n-2)-2、(n-2)-3......(n-2)-n这么多种;
.....略
那么第一次跳法次数可以用一个for()循环表示,共 for(let i = 1;i<number;i++) 共i种;
如果它第一次跳法为:(n-1),那么接下来次数有共 for(let i = 1;i<number-1;i++) 共i种;
如果它第一次跳法为:(n-2),那么接下来次数有共 for(let i = 1;i<number-2;i++) 共i种;
....
那么可以递归表示:

function jumpFloorII(number)
{
    // 总共次数
    let sum = 1;
    for(let i = 1;i<number;i++){
        sum += jumpFloorII(i);
    }
    return sum;
}
全部评论

相关推荐

06-25 16:00
武汉大学 Java
工科研究生底薪工资就开3k啊??
机械打工仔:写文章提成的岗位工资低,你怪工科?
点赞 评论 收藏
分享
湫湫湫不会java:先投着吧,大概率找不到实习,没实习的时候再加个项目,然后把个人评价和荣誉奖项删了,赶紧成为八股战神吧,没实习没学历,秋招机会估计不多,把握机会。或者说秋招时间去冲实习,春招冲offer,但是压力会比较大
点赞 评论 收藏
分享
06-10 23:36
已编辑
首都经济贸易大学 C++
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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