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

代码随想录算法训练营第 32 天 | LeetCode509斐波那契数列 LeetCode70爬楼梯 LeetCode749使用最小花费爬楼梯

代码随想录算法训练营

Day32 代码随想录算法训练营第 32 天 | LeetCode509斐波那契数列 LeetCode70爬楼梯 LeetCode749使用最小花费爬楼梯


目录

  • 代码随想录算法训练营
  • 前言
    • LeetCode509斐波那契数列
    • LeetCode70爬楼梯
    • LeetCode749使用最小花费爬楼梯
  • 一、基础
  • 二、LeetCode509斐波那契数列
    • 1.题目链接
    • 2.思路
    • 3.题解
  • 三、LeetCode70爬楼梯
    • 1.题目链接
    • 2.思路
    • 3.题解
  • 四、LeetCode749使用最小花费爬楼梯
    • 1.题目链接
    • 2.思路
    • 3.题解


前言

LeetCode509斐波那契数列

讲解文档

LeetCode70爬楼梯

讲解文档

LeetCode749使用最小花费爬楼梯

讲解文档


一、基础

动态规划三部曲
1)动态规划数组的含义
2)确定状态转换方程
3)确定初值

二、LeetCode509斐波那契数列

1.题目链接

LeetCode509斐波那契数列

2.思路

(1)动态规划数组含义:F(n)
(2)状态转换方程:F(n)=F(n-1)+F(n-2)
(3)初始状态 F(0)=0 F(1)=1

3.题解

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

三、LeetCode70爬楼梯

1.题目链接

LeetCode70爬楼梯

2.思路

(1)动态规划数组含义:走到第n级台阶的方案数
(2)状态转换方程:dp(n)=dp(n-1)+dp(n-2)

	因为一次可以走1层或2层,所以到达第n层时可以从n-1层和n-2层出发

(3)初始状态: dp(1)=1 , dp(2)=2

3.题解

class Solution {
public:int climbStairs(int n) {int dp[n + 5];dp[1] = 1;dp[2] = 2;for (int i = 3; i <= n; i++) {dp[i] = dp[i - 1] + dp[i - 2];}return dp[n];}
};

四、LeetCode749使用最小花费爬楼梯

1.题目链接

LeetCode749使用最小花费爬楼梯

2.思路

(1)数组含义:到达第n级台阶的时候需要的最小花费
(2)状态转换方程:

dp(n)=min(dp(n-1)+cost(i-1),dp(i-2)+cost(i-2))

到达第N级台阶,可以从n-1级台阶或者n-2级台阶出发,取最小值

3.题解

class Solution {
public:int minCostClimbingStairs(vector<int>& cost) {int n = cost.size();int dp[n + 5];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]);}return dp[n];}
};

相关文章:

  • 华为路由常见 LSA 类型的产生及作用域和字段详细解读
  • 杰理-1拖8 错误状态
  • 程序员找工作之操作系统面试题总结分析
  • 【Unity实战】给Unity的类添加新功能
  • Android笔试面试题AI答之线程Handler、Thread(3)
  • 基于 Kafka 的经验:AutoMQ 和 MinIO 如何解决成本和弹性挑战
  • 使用redis缓存文章浏览量
  • PHP中如何处理字符串
  • thinkphp8开发的广告联盟网站系统源码
  • C#:通用方法总结—第11集
  • SSM大学生就业咨询管理系统-计算机毕业设计源码79442
  • “网络身份证”来了,淘宝、微信、小红书等已上线试点版功能
  • TCP为什么需要四次挥手?
  • 软件测试经理工作日常随记【7】-接口+UI自动化(多端集成测试)
  • 利用Qt实现调用文字大模型的API,文心一言、通义千问、豆包、GPT、Gemini、Claude。
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • 08.Android之View事件问题
  • 2019.2.20 c++ 知识梳理
  • Just for fun——迅速写完快速排序
  • OpenStack安装流程(juno版)- 添加网络服务(neutron)- controller节点
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • Puppeteer:浏览器控制器
  • SpiderData 2019年2月13日 DApp数据排行榜
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • Webpack 4 学习01(基础配置)
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 搭建gitbook 和 访问权限认证
  • 给新手的新浪微博 SDK 集成教程【一】
  • 基于Javascript, Springboot的管理系统报表查询页面代码设计
  • 日剧·日综资源集合(建议收藏)
  • 三分钟教你同步 Visual Studio Code 设置
  • 十年未变!安全,谁之责?(下)
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • RDS-Mysql 物理备份恢复到本地数据库上
  • 交换综合实验一
  • ​Linux Ubuntu环境下使用docker构建spark运行环境(超级详细)
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • #include到底该写在哪
  • #我与Java虚拟机的故事#连载11: JVM学习之路
  • (2)MFC+openGL单文档框架glFrame
  • (C++哈希表01)
  • (NSDate) 时间 (time )比较
  • (poj1.3.2)1791(构造法模拟)
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (一)Neo4j下载安装以及初次使用
  • (原創) X61用戶,小心你的上蓋!! (NB) (ThinkPad) (X61)
  • (转)树状数组
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • .bat文件调用java类的main方法
  • .net core开源商城系统源码,支持可视化布局小程序
  • .NET Framework 和 .NET Core 在默认情况下垃圾回收(GC)机制的不同(局部变量部分)
  • .Net MVC + EF搭建学生管理系统