题目
简单DP,只给出状态转移方程。
状态转移方程
\[ dp[i][j] = \begin{cases} & dp[i-1][j-1]+1, & \text{if $text1[i]==text2[j]$} \\ & max(dp[i-1][j],\ dp[i][j-1]), & otherwise \\ \end{cases} \]
1 | class Solution { |
总结
- 这里只求,最大公共子序列的长度,简单的2维DP即可实现
- 记住,这种在状态转移方程中存在
f[i] = f[i-1]
的递推式情况下,- 将设置
新数组长度 = 旧数组长度 + 1
- 从而可以减少在
base case
,corner case
的语句,减少代码冗余程度。
- 将设置