‹ 上一题 下一题 ›

g8-06294. GESP-8级-2025-12-单选-第06题 未做

下面程序使用动态规划求两个字符串的最长公共子序列(LCS)长度,横线处应填入的是( )。

#include <algorithm>
#include <string>
#include <vector>
using namespace std;

int lcs_len(const string &a, const string &b) {
    int n = (int)a.size(), m = (int)b.size();
    vector<vector<int>> dp(n + 1, vector<int>(m + 1, 0));
    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
                ________; // 在此处填入选项
    return dp[n][m];
}
  • 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
未选择
输入
输出

            
答案