下面 LCS(最长公共子序列)程序中,横线处应填入:
for (int i = 1; i <= n; i++)
for (int j = 1; j <= m; j++)
if (a[i-1] == b[j-1])
dp[i][j] = dp[i-1][j-1] + 1;
else
________; // 在此处填入选项
- A. dp[i][j] = dp[i-1][j] + dp[i][j-1];
- B. dp[i][j] = min(dp[i-1][j], dp[i][j-1]);
- C. dp[i][j] = max(dp[i-1][j], dp[i][j-1]);
- D. dp[i][j] = max(dp[i-1][j], dp[i][j-1]) + 1;
正确答案:C