动态规划01
动态规划核心要义 这一步的数据依据上一步或者上两步的数据
动态规划五部
- 确定dp数组(dp table)以及下标的含义
- 确定递推公式
- dp数组如何初始化
- 确定遍历顺序
- 举例推导dp数组
动态规划第一题 斐波那契数列
dp[i] 表示第i个数列的值
递推公式已经给出 f(n) =f(n-1)+f(n-2)
初始化已经给出 第一个数等于0 第二个数等于1
遍历顺序从前到后
第二题
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。
每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?
dp数组定义 dp【i 】 表示第i'个数字,
因为每次只跳1步或者两步,所以第n阶台阶只会有两种方式到达,所以dp【i】 =dp{i-1}+dp{i-2}
初始化 题目已经规定n为正整数 所以 dp【1】=1,dp【2】=2 所以n直接从3开始计算
计算顺序从前到后
第三题
同样的 每次只能上两个台阶 那么最小花费 就是8比较一步上来和两步上来哪个花销大
初值已经给了 从第一个台阶上和第二个台阶上都可以 所以dp数组第一个和第二个都等于0
dp[i]=min(dp[i-1]+cost[i-1],dp[i-2]+cost[i-2]);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探