根据算法导论的逐步介绍,于是有了这3个版本的代码。
************这是递推版本*************
************这是记忆化递归版本***********
**************最后,优化了空间************
由于dp[i][j] 只是由dp[i-1][j], dp[i][j-1], dp[i-1][j-1]三个状态得出的。
所以只用一维数组就可以了,不过要特别注意dp[i-1][j-1],这个状态是无法保存在这个1维数组里的。
因为按从小到大的递推顺序,dp[j]前的状态都已经被更新为dp[i][1...j-1]了。