8.4 周五
- 理论基础
- 509. 斐波那契数
- 70. 爬楼梯
- 746. 使用最小花费爬楼梯
详细布置
今天正式开始动态规划!
理论基础
递归五部曲:
1、dp数组及其下标的含义
2、确定递推公式
3、数组初始化
4、确定遍历顺序
5、打印数组
509. 斐波那契数
题目:给出斐波那契数列的第n个数的值
题解:
1、dp[i] = dp[i-1] + dp[i-2]
2、dp[0] = 0;dp[1] = 1
注意:最开始要判断
if (N <= 1) return N;
70. 爬楼梯
题目:一次可以爬1或2个台阶,问爬n阶楼梯有几种方式
题解:
1、从3阶楼梯开始,dp[i] = dp[i-1] + dp[i-2]
2、dp[1] = 1;dp[2] =2
746. 使用最小花费爬楼梯
题目:
在i个台阶往上爬需要花费cost[i],问到屋顶的最小花费
题解:
1、dp[i]表示到i个台阶的最小话费
2、到第i个台阶,可以选择从i-1向上爬一阶,也可以选择从i-2向上爬两阶,选择两种方法中cost小的那个
3、dp[0]=dp[1] =0 因为仅仅站在台阶而不往上爬时没有花费