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

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

代码随想录算法训练营第四十一天

509. 斐波那契数

题目链接:509. 斐波那契数
动规五部曲:

  1. 确定dp数组以及下标的含义:第i个数的斐波那契数值是dp[i]
  2. 确定递推公式:dp[i] = dp[i - 1] + dp[i - 2];
  3. dp数组如何初始化:dp[0] = 0;dp[1] = 1;
  4. 确定遍历顺序:从前向后遍历
  5. 打印dp数组。
class Solution {
public:int fib(int n) {vector<int> dp(n+1);//创建dp数组if(n<=1)return n;//处理特殊条件dp[0] = 0;//初始化dp数组dp[1] = 1;for(int i = 2;i<=n;i++){dp[i]=dp[i-1]+dp[i-2];//递推公式更新结果cout<<dp[i]<<endl;//打印dp数组}return dp[n];}
};

70. 爬楼梯

题目链接:70. 爬楼梯

  1. 确定dp数组以及下标的含义:达到i级台阶有dp[i]种方法
  2. 确定递推公式:dp[i] = dp[i - 1] + dp[i - 2];
  3. dp数组如何初始化:dp[0] = 0;dp[1] = 1;dp[2] = 2;
  4. 确定遍历顺序:从前向后遍历
  5. 打印dp数组。
class Solution {
public:int climbStairs(int n) {vector<int> dp(n + 3);dp[0] = 0;dp[1] = 1;dp[2] = 2;for (int i = 3; i <= n; i++) {dp[i] = dp[i - 1] + dp[i - 2];cout<<dp[i]<<endl;//打印dp数组}return dp[n];}
};

746. 使用最小花费爬楼梯

题目链接:746. 使用最小花费爬楼梯

  1. 确定dp数组以及下标的含义:达到i级台阶花费的最小总体力dp[i]
  2. 确定递推公式:一次跳跃可以跳1个台阶或者2个台阶,所以dp[i](总花费)可以是dp[i-1](总花费)+cost[i-1](从i-1处向上跳的花费)或者dp[i-2](总花费)+cost[i-2](从i-2处向上跳的花费)。这两个值其中较小的一个。
  3. dp数组如何初始化:到达0和1位都可以不用花费。dp[0] = 0;dp[1] = 0;
  4. 确定遍历顺序:从前向后遍历
  5. 打印dp数组。
class Solution {
public:int minCostClimbingStairs(vector<int>& cost) {int n = cost.size();vector<int> dp(n+2);dp[0] = 0;dp[1] = 0;for(int i =2;i<=n;i++){dp[i] = min(dp[i-1]+cost[i-1],dp[i-2]+cost[i-2]);cout<<dp[i]<<endl;//打印dp数组}return dp[n];}
};

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

相关文章:

  • HTML5表单控件:新时代的交互魔法手册
  • WordPress安装插件失败No working transports found
  • 多线程理论及操作
  • 本周 MoonBit 核心库进行 API 整理工作、工具链持续完善
  • Golang net/http标准库常用方法(三)
  • 24校招总结
  • PHP APCu缓存使用与避坑
  • mybatis xml
  • “不是我兄弟”!刘强东内部“狼性训话”流出!
  • 函数调用时长的关键点:揭秘参数位置的秘密
  • 【数据分析面试】54.员工信息(HR)数据库搭建
  • 通过JavaScript本地存储数据
  • CTF-web-攻防世界-3
  • 【附代码案例】深入理解 PyTorch 张量:叶子张量与非叶子张量
  • TypeScript 学习笔记(七):TypeScript 与后端框架的结合应用
  • Linux基础知识点总结!超详细
  • 中小学校活动怎样投稿给媒体报道宣传?
  • Python代码:十七、生成列表
  • C++ 程序的基本要素
  • 藏汉翻译工具有哪些?这三款工具简单好用
  • three.js官方案例webgl_loader_fbx.html学习
  • 51单片机-实机演示(单多个数码管)
  • Pytorch深度学习实践笔记10(b站刘二大人)
  • QT5.15.2及以上版本安装
  • 5月27日
  • python给三维点上色,并添加颜色柱
  • Ubuntu22.04之解决:忘记登录密码(二百三十二)
  • stream-并行流
  • 插件“猫抓”使用方法 - 浏览器下载m3u8视频 - 合并 - 视频检测下载 - 网课下载神器
  • 【quarkus系列】构建可执行文件native image