动态规划
我的理解:因为在到达目的值之前 我们可以记录上一个值的大小 再递归进下一步时可以用上一步得到的值从而能够更快的找到目的值(抽象)
解题五步骤:
- 确定dp数组(dp table)以及下标的含义
- 确定递推公式
- dp数组如何初始化
- 确定遍历顺序
- 举例推导dp数组
知识点:动态规划 已知公式dp[n]=dp[n-1]+dp[n-2] 初始化dp[0]=1,dp[1]=0;
解题步骤:
- 确定dp数组(dp table)以及下标的含义
- 确定递推公式
- dp数组如何初始化
- 确定遍历顺序
- 举例推导dp数组
知识点:爬到最后一阶时 可以由上一阶或二阶攀爬 所以爬上最后一阶可以为上一阶和二阶之和
dp[n]=dp[n-1]+dp[n-2]
问题:回溯遍历超时
知识点:1.怎么找最小?因为dp数组每走一步要花费记录的上一步骤走的花费数 所以我们找出上两步的最小值
2.初始化? 因为一开始他就可以从1 ,2台阶走 所以dp[0] dp[1]为0
问题:我没有弄清怎么把每一步走的值时实的值传给dp