原题题目
代码实现(首刷看解)
int minimumDeleteSum(char * s1, char * s2){
int x = strlen(s1);
int y = strlen(s2);
int dp[y+1][x+1],i,j;
dp[0][0] = 0;
for(i=1;i<=x;i++)
dp[0][i] = s1[i-1] + dp[0][i-1];
for(i=1;i<=y;i++)
dp[i][0] = s2[i-1] + dp[i-1][0];
for(i=1;i<=y;i++)
{
for(j=1;j<=x;j++)
{
if(s2[i-1] == s1[j-1])
dp[i][j] = dp[i-1][j-1];
else
dp[i][j] = fmin(dp[i-1][j] + s2[i-1],dp[i][j-1] + s1[j-1]);
}
}
return dp[y][x];
}