17.动态规划之青蛙跳台阶代码实现(JavaScript版)

Posted lanshanxiao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了17.动态规划之青蛙跳台阶代码实现(JavaScript版)相关的知识,希望对你有一定的参考价值。

动态规划之青蛙跳台阶

技术图片
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
//一只青蛙,一次只能跳一级台阶或两级台阶,问这个青蛙跳上n级台阶有多少种跳法?
//核心思想:fn(n) = fn(n - 1) + fn(n - 2)
function jump(n){
    if(n <= 0){
        return 0;
    }else if(n == 1){
        return 1;
    }else if(n == 2){
        return 2;
    }

    return jump(n - 1) + jump(n - 2);
}

console.log(jump(4));

//一只青蛙,一次只能跳一级台阶或两级台阶或n级台阶,问这个青蛙跳上n级台阶有多少种跳法?
//核心思想:fn(n) = fn(n - 1) + fn(n - 2) + ... + fn(2) + fn(1)
function jump2(n){
    if(n <= 0){
        return 0;
    }else if(n == 1){
        return 1;
    }else if(n == 2){
        return 2;
    }
    var result = 0;
    for(var i = 1; i < n; i++){
        result += jump2(n - i);
    }
    
    return result + 1;//+1表示从0级台阶直接跳上n级台阶
}

console.log(jump2(3));
    </script>
</body>
</html>
动态规划之青蛙跳台阶

 

以上是关于17.动态规划之青蛙跳台阶代码实现(JavaScript版)的主要内容,如果未能解决你的问题,请参考以下文章

跳台阶问题

青蛙跳台阶衍生之变态跳台阶(递归,思路分析及代码实现)

70. 爬楼梯(剑指 Offer 10- II. 青蛙跳台阶问题)-动态规划

20191026-跳台阶

C语言每日一练——第90天:青蛙跳台阶(升级版)

剑指offer(C++)-JZ69:跳台阶(算法-动态规划)