当前位置: 首页 > news >正文

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

我在每一个算法开始之前都会去认真的看一下这个理论基础,或者说是算法的主要思想,可以直接看视频carl讲解的很清晰;其次还会大致看一下这一part中的题型及难度
动态规划理论基础讲解链接: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;//dp[i] 第i个斐波那契数值为dp[i]vector<int> dp(n+1);//初始化dp[0] = 0;dp[1] = 1;//遍历顺序:从前往后for(int i=2;i<=n;i++) {//递推公式dp[i] = dp[i-1] + dp[i-2];}return dp[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) {//dp[i]表示  爬到第i层楼梯,有dp[i]种方法//上i-1层楼梯,有dp[i - 1]种方法,i层就加一//dp[i] = dp[i-1]+dp[i-2]if(n<=1) return n;//希望从i=1开始vector<int> dp(n+1);    //犯了个低级错误定义成了dp[n+1]dp[1]=1;dp[2]=2;for(int i=3;i<=n;i++) {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()];}
};

在这里插入图片描述

http://www.lryc.cn/news/369428.html

相关文章:

  • 如何有效处理服务器后台密码暴露
  • 使用本地大模型调用代码,根本就是一场骗局!
  • 一些简单却精妙的算法
  • git多账号使用报错:You don‘t have permissions to push to “xxx/xxxx“ onGitHub. Would
  • 中国电子学会(CEIT)2023年12月真题C语言软件编程等级考试三级(含详细解析答案)
  • 多线程爬取百度图片
  • RK3568-修改fiq-debugger调试串口
  • 我们离成功有多远呢?只要能完成自己阶段性的目标就算是一次成功
  • Golang 避坑指南
  • Java核心: JarIndex的使用
  • 1052 卖个萌(测试点1,2)
  • Vue 3与ESLint、Prettier:构建规范化的前端开发环境
  • npm安装依赖过慢
  • 计算机毕业设计 | SpringBoot+vue的教务管理系统
  • 深入探索深度学习的验证集:必要还是可选?
  • 初识C++ · 反向迭代器简介
  • fastapi学习前置知识点
  • 机器学习常见知识点 1:Baggin集成学习技术和随机森林
  • 容器(Docker)安装
  • 前端JS必用工具【js-tool-big-box】学习,获取当前浏览器向上滚动还是向下滚动,获取当前距离顶部和底部的距离
  • 【python】flask 框架
  • Word中插入Mathtype右编号,调整公式与编号的位置
  • 基于【Lama Cleaner】一键秒去水印,轻松移除不想要的内容!
  • VMware Workstation Ubuntu server 24 (Linux) 磁盘扩容 挂载硬盘
  • 表的设计与查询
  • 【react】如何合理使用useEffect
  • 计算机专业英语Computer English
  • 目前比较好用的LabVIEW架构及其选择
  • CSS之块浮动
  • 探索GPT-4V在学术领域的应用——无需编程即可阅读和理解科学论文