代码随想录算法训练营第三十二天| 509. 斐波那契数 、70. 爬楼梯 、 746. 使用最小花费爬楼梯

11 阅读1分钟

509. 斐波那契数

相关链接:题目链接文章讲解 视频讲解

解题思路

代码实现

var fib = function(n) {
    var dp0 = 0,dp1=1;
    if(n==0){
        return dp0;
    }
    if(n===1){
        return dp1;
    }
    for(let i=2;i<=n;i++){
        var temp = dp1;
        dp1 = dp0 + dp1;
        dp0 = temp;
    }
    return dp1;
};

70. 爬楼梯

相关链接:题目链接文章讲解 视频讲解

解题思路

代码实现

var climbStairs = function(n) {
    var dp=1,dp1=2;
    if(n==1){
        return dp;
    }
    if(n===2){
        return dp1
    }
    
    for(let i=3;i<=n;i++){
        var temp = dp1;
        dp1 = dp +dp1;
        dp = temp;
    }
    return dp1;
};

746. 使用最小花费爬楼梯

相关链接:题目链接文章讲解 视频讲解

解题思路

代码实现

var minCostClimbingStairs = function(cost) {
    var dp0=0,dp1=0;
    for(let i=2;i<=cost.length;i++){
        var temp = dp1;
        dp1 = Math.min(dp0+cost[i-2],dp1+ cost[i-1]);
        dp0 = temp;
    }
    return dp1;
};