leetcode原题,
动态规划
dp[i][j] 代表 T 前 i 字符串可以由 S 前j 字符串组成最多个数.
所以动态方程:
当 S[j] == T[i] , dp[i][j] = dp[i-1][j-1] + dp[i][j-1];(前T的前i-1个由S的前j-1个组成的个数,与T的前i个被S的前j-1个组成的个数,dp[i][j-1]有点类似于不选s[j]能凑成t[1..i]的个数,相反dp[i-1][j-1]则为选s[j]能凑成t[1...i]的个数。)
当 S[j] != T[i] , dp[i][j] = dp[i][j-...