热门

最新

红包

立Flag

投票

同城

我的

发布
qq_66337203
FX–飞雪
2 年前
trueqq_66337203

//下面编写你的代码
//下面编写你的代码
void LCS(int A[], int m, int B[], int n, int C[], int *k){
int dp[m+1][n+1];
for(int i=0;i<m+1;i++)
dp[i][0] = 0;
for(int i=0;i<n+1;i++)
dp[0][i] = 0;
int h = 0;
for(int i=1;i<m+1;i++){
for(int j=1;j<n+1;j++){
if(A[i-1] == B[j-1])
{
dp[i][j] = dp[i-1][j-1] + 1;
}
else
{
if(dp[i][j-1] > dp[i-1][j])
dp[i][j]=dp[i][j-1];
else
dp[i][j] = dp[i-1][j];
}
}
}

*k = dp[m][n];
int flag = *k;
while(flag>-1&&m>-1&&n>-1)
{
if(dp[m][n] == dp[m-1][n-1] + 1)
{
C[flag-1] = A[m-1];
m--;
n--;
flag--;
}
else
{
if(dp[m][n] == dp[m-1][n])
{
m = m-1;
}
else if(dp[m][n] == dp[m][n-1])
{
n = n-1;
}
}
}
}

CSDN App 扫码分享
分享
评论
2
打赏
  • 复制链接
  • 举报
下一条:
xp系统synaptice 蠕虫病毒 用任务管理器找到路径后,对应的路径没有此文件夹。该怎么办
立即登录