首页 > 编程语言 >代码随想录算法训练营第38天|理论基础|509. 斐波那契数 |70. 爬楼梯 |746. 使用最小花费爬楼梯

代码随想录算法训练营第38天|理论基础|509. 斐波那契数 |70. 爬楼梯 |746. 使用最小花费爬楼梯

时间:2024-04-02 22:30:51浏览次数:28  
标签:契数 爬楼梯 int 随想录 E6% https com dp

代码随想录算法训练营第38天|理论基础|509. 斐波那契数 |70. 爬楼梯 |746. 使用最小花费爬楼梯

详细布置

今天正式开始动态规划!

理论基础

无论大家之前对动态规划学到什么程度,一定要先看 我讲的 动态规划理论基础。

如果没做过动态规划的题目,看我讲的理论基础,会有感觉 是不是简单题想复杂了?

其实并没有,我讲的理论基础内容,在动规章节所有题目都有运用,所以很重要!

如果做过动态规划题目的录友,看我的理论基础 就会感同身受了。

https://programmercarl.com/%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html
视频:https://www.bilibili.com/video/BV13Q4y197Wg

509. 斐波那契数

很简单的动规入门题,但简单题使用来掌握方法论的,还是要有动规五部曲来分析。

https://programmercarl.com/0509.%E6%96%90%E6%B3%A2%E9%82%A3%E5%A5%91%E6%95%B0.html
视频:https://www.bilibili.com/video/BV1f5411K7mo

class Solution {
public:
    int fib(int n) {
        if(n<=1) return n;
        vector<int>f(n+1);
        f[0]=0;
        f[1]=1;
        for(int i=2;i<=n;i++)
        f[i]=f[i-1]+f[i-2];
        
        return f[n];
    }
};

70. 爬楼梯

本题大家先自己想一想, 之后会发现,和 斐波那契数 有点关系。

https://programmercarl.com/0070.%E7%88%AC%E6%A5%BC%E6%A2%AF.html
视频:https://www.bilibili.com/video/BV17h411h7UH

class Solution {
public:
    int climbStairs(int n) {
        if(n<=1)return n; // 因为下面直接对dp[2]操作了,防止空指针
        vector<int>dp(n+1);

        dp[1]=1;
        dp[2]=2;
        for(int i=3;i<=n;i++) // 注意i是从3开始的
        dp[i]=dp[i-1]+dp[i-2];

        return dp[n];
    }
};

总结
变相的斐波那契数

746. 使用最小花费爬楼梯

这道题目力扣改了题目描述了,现在的题目描述清晰很多,相当于明确说 第一步是不用花费的。

更改题目描述之后,相当于是 文章中 「拓展」的解法

https://programmercarl.com/0746.%E4%BD%BF%E7%94%A8%E6%9C%80%E5%B0%8F%E8%8A%B1%E8%B4%B9%E7%88%AC%E6%A5%BC%E6%A2%AF.html
视频讲解:https://www.bilibili.com/video/BV16G411c7yZ

class Solution {
public:
    int minCostClimbingStairs(vector<int>& cost) {
        vector<int> dp(cost.size()+1);
        dp[0]=0;// 默认第一步都是不花费体力的
        dp[1]=0;
        for(int i=2;i<=cost.size();i++)
        {
            dp[i]=min(dp[i-1]+cost[i-1],dp[i-2]+cost[i-2]);
        }
        return dp[cost.size()];
    }
};

标签:契数,爬楼梯,int,随想录,E6%,https,com,dp
From: https://blog.csdn.net/2401_83080774/article/details/137244411

相关文章