主要学习、借鉴了labuladong大佬的pdf
动态规划问题的一般形式就是求最值。
如求最长递增子序列、最小编辑距离等
求解动态规划的核心问题就是穷举,即用dp数组优化穷举过程。
动态规划三要素:
存在重叠子问题(所以要用备忘数组减少重复计算)
具备最优子结构(所以dp数组中的结果可以复用)
正确的状态转移方程(重点,dp结果可以通过计算获得)
解题套路:
确定base case ——> 确定【状态】 ——> 确定【选择】 ——>确定状态转移方程
专题:
零钱兑换
打家劫舍
不同路径
股票买卖
鸡蛋掉落
编辑距离
最长回文序列
最大子序和
最长递增子序列