题库 软件开发 题目列表 小度遇上了某个需求,求给定两个字符串的最长公共子...
单选题
小度遇上了某个需求,求给定两个字符串的最长公共子序列的长度:
一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。
例如,"bad" 是 "baidu" 的子序列,但 "bud" 不是 "baidu" 的子序列。两个字符串的「公共子序列」是这两个字符串所共同拥有的子序列。
输入:
text1 = "baidu", text2 = "bad" 
输出:
3
小度写了如下C++代码完成了此功能:
int dp[1000][1000];
int max(int a,int b)
{
    if(a>b) return a;
    return b;
}

int longestCommonSubsequence(string text1, string text2) {
        int len1=text1.size();
        int len2=text2.size();
        for(int i=0;i<len1;i++){
            for(int j=0;j<len2;j++){
                if(text1[i]==text2[j]){
                    dp[i+1][j+1]=dp[i][j]+1;
                }
                else{
                    dp[i+1][j+1]=__________;
                }
            }
       }
       return dp[len1][len2];
}
则以上核心代码填什么可以正确实现此功能?


A.
max(dp[i+1][j],dp[i][j+1])
B.

max(dp[i+1][j],dp[i][j])

C.

max(dp[i][j+1],dp[i][j])

D.

max(dp[i-1][j],dp[i][j-1])

E.

max(dp[i-1][j],dp[i][j])

题目信息
校招真题
-
正确率
0
评论
11
点击