dp
题意:
给出3个字符串,s1,s2,s3.问s1和s2能不能以子序列的方式拼成s3.
思路:
经典的dp题,复杂度O(n2).
dp[i][j]表示s1长度为i的前缀,s2长度为j的前缀,能不能拼成s3长度为i+j的前缀.
dp[i][j]= dp[i-1][j] && s1[i-1] == s3[i+j-1] || dp[i][j-1] && s2[j-1] == s3[i+j-1]
注意一下边界处理.
总结:
dp,dp[i][j]表示s1,s2的长度为i,j的前缀能不能拼成s3的长度为i+j的前缀.