c_cpp 最长的子串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 最长的子串相关的知识,希望对你有一定的参考价值。

int longest_substring(const string& str1, const string& str2) {
    
    int n = str1.length();
    int m = str2.length();
    
    int suffix[n + 1][m + 1] = {};
    
    int result = 0;
    
    
    for (int i = 0; i <= n;i++) {
        for (int j = 0; j <=m; j++) {
            
            if (i == 0 || j == 0) {
                suffix[i][j] = 0;   
                
            } else if (str1.at(i - 1) == str2.at(j - 1)) {
                suffix[i][j] = suffix[i - 1][j - 1] + 1;
                result = max(result, suffix[i][j]); 
            } else {
                suffix[i][j] = 0;
            }                    
       }
    }
    
 
   
    return result;
    
}

以上是关于c_cpp 最长的子串的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp 最长的公共子串

c_cpp 【动态规划】最长公共子串

c_cpp 动态规划 - 最长回文子串

c_cpp 最长回文子串的.cpp

c_cpp 无重复字符的最长子串的.cpp

c_cpp 5.最长的回文子串 - Med - 2018.10.15