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

day38 代码回想录 斐波那契数爬楼梯使用最小花费爬楼梯

大纲

● 理论基础
● 509. 斐波那契数
● 70. 爬楼梯
● 746. 使用最小花费爬楼梯

509. 斐波那契数

题目:509. 斐波那契数

// 斐波那契数列
// 动规 5部曲
// 1 dp[i]代表i处的斐波那契值
// 2 递归公式:dp[0] = 0, dp[1]=1, dp[i]=dp[i-1]+dp[i-2]
// 3 dp数组初始化 dp[0]=0,dp[i]=1
// 4 遍历顺序 从前向后
// 5 举例子推导
int fbi(int n) {if (n < 2) return n;int dp[2] = {0};dp[0] = 0;dp[1] = 1;for (int i = 2; i < n; i++) {int tmp = dp[1];dp[1] = dp[0] + dp[1];dp[0] = tmp;}return dp[1];
}

70. 爬楼梯

题目:70. 爬楼梯

// 爬楼梯
// 递归5部曲
// dp[i] 代表爬到i的方式总数
// 公式:dp[i]=dp[i-1]+dp[i-2]
// dp数组初始化 dp[0]=1 dp[1]=2
// 遍历顺序从前向后
// 举例子
int stepFloor(int n) {if (n < 2) return n;int dp[2] = {0};dp[0] = 1;dp[1] = 2;for (int i = 2; i < n; ++i) {int tmp = dp[1];dp[1] = dp[0] + dp[1];dp[0] = tmp;}return dp[1];
}

746. 使用最小花费爬楼梯

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

// 爬楼梯的最少次数
// 给定一个数组,求抵达末尾的最少代价,其中i处代表到i的代价
// 动态规划
// 1 dp[i] 代表到达i处的最少代价
// 2 公式 dp[i] = min(dp[i-1]+nums[i-1], dp[i-2]+nums[i-2])
// 3 初始化 dp[0] = 0 dp[1]=0
// 4 遍历顺序 前-》后
// 5 [10,15,20]
int minStepSpend(vector<int>& nums) {if (nums.size() < 2) return 0;int dp0 = 0, dp1 = 0;for (int i = 2; i < nums.size(); ++i) {int tmp = dp1;dp1 = min(dp0 + nums[i-2], dp1 + nums[i-1]);dp0 = tmp;}return dp1;
}
http://www.lryc.cn/news/168901.html

相关文章:

  • Flink DataStream 体系
  • Linux的调试工具 - gdb(超详细)
  • 已知平面内三点,求其平面的法向量
  • HTML
  • Java手写最大子数组和算法(如Kadane算法)和最大子数组和算法(如Kadane算法)应用拓展案例
  • 掌握NVM、NRM和NPM:Node.js开发的利器
  • Nacos 2.2.3 部署到linux
  • 设计模式之十:状态模式
  • Python 的运算符和语句(条件、循环、异常)基本使用指南
  • 文心一言 VS 讯飞星火 VS chatgpt (94)-- 算法导论9.2 3题
  • React中组件通信01——props
  • 接口测试——接口协议抓包分析与mock_L1
  • 四种常用的自动化测试框架
  • Fuxploider:一款针对文件上传漏洞的安全检测与研究工具
  • Unity 安装及运行MLAgents
  • LightDB-A 兼容oracle支持mod操作符
  • SpringMVC之自定义注解
  • QT:使用普通按钮、网格布局管理器、标签、行编辑器、水平布局管理器、垂直布局管理器做一个小项目
  • 【小沐学写作】程序员必备技能:在线协作文档汇总
  • 「工具|数据接口」免费公开的REST API 如何借助github搭建自己的fake API接口
  • leetcode 18. 四数之和
  • 树上背包问题动态规划
  • linux查看进程对应的线程(数)
  • Python中的桌面应用开发库有哪些?
  • 【大数据】Neo4j 图数据库使用详解
  • Windows11系统C盘用户文件夹下用户文件夹为中文,解决方案
  • Python正则表达式(re)
  • 【PyTorch 08】如果要手动安装对应的包
  • 黑马JVM总结(十二)
  • 彻底搞懂线程池原理以及创建方式