题解 | #跳台阶#

跳台阶

http://www.nowcoder.com/practice/bfb2a2b3cdbd4bd6bba0d4dca69aa3f0

这个和斐波那契一样吧

// 动态规划是把一个问题分解成相互重叠的子问题
// 爬到第n阶可以在第n - 1阶爬一个台阶,或者在n - 2阶爬两个台阶
// 所以就找到了对应关系 count(n) = count(n - 1) + count(n - 2)
// count(1) = 1
// count(2) = 2
// count(3) = 3
function count(n){
    if(n < 2){
        return n
    }
    let p = 0,q = 1,r = 2
    for(let i = 3;i <= n;i++){
        p = q
        q = r
        r = p + q
    }
    return r
}

console.info(count(n))
全部评论

相关推荐

01-26 22:20
已编辑
门头沟学院 Java
Java抽象带篮子:项目很nb了,现在好好准备八股和算法吧,早点找实习,可以看看我的置顶帖子。帖子里写了怎么改简历,怎么包装实习经历,还有2个高质量可速成的项目话术,和我的牛客八股笔记专栏
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务