//下面编写你的代码//下面编写你的代码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; } } }}