动态规划据说是面试中比较高级的题目了。今天动手做了一道。使用动态规划解题的第一步是要找到递推公式(也就是所谓的状态转移方程)。然后找边界条件。
比较简单的实现就是直接recursive,但是运行速度较慢,并且容易造成溢出(overflow)。所以可以进行优化。一种优化方法是把需要用的结果用比如python字典储存起来。算出dp[i][j]
如果没有头绪的话,就从边界条件开始慢慢的推。另外就是如果要求最大XXX,那么状态转移方程里一定会有max函数的。
动态规划据说是面试中比较高级的题目了。今天动手做了一道。使用动态规划解题的第一步是要找到递推公式(也就是所谓的状态转移方程)。然后找边界条件。
比较简单的实现就是直接recursive,但是运行速度较慢,并且容易造成溢出(overflow)。所以可以进行优化。一种优化方法是把需要用的结果用比如python字典储存起来。算出dp[i][j]
如果没有头绪的话,就从边界条件开始慢慢的推。另外就是如果要求最大XXX,那么状态转移方程里一定会有max函数的。