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>
動態規划之青蛙跳台階

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM