c++求两个字符串的最长公共子序列and子串

Posted 出发的兰彻

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++求两个字符串的最长公共子序列and子串相关的知识,希望对你有一定的参考价值。

https://blog.csdn.net/ggdhs/article/details/90713154

#include <iostream>
using namespace std;

int main() {
        char str1[] = "helloworld";
        char str2[] = "loop";
        int arr[11][5] = {0};
        for(uint32_t i=1; i<11;i++) {
                cout << str1[i-1] << endl;
                for(uint32_t j=1; j<5;j++) {
                        cout<< str2[j-1];
                        if (str1[i-1] ==  str2[j-1]) {
                                arr[i][j] = arr[i-1][j-1] + 1;
                        } else {
                   // 公共子序列 arr[i][j] = max(arr[i-1][j], arr[i][j-1]); // 公共字串
             // arr[i][j] = 0; } } cout << endl; } for(uint32_t i=0; i<11;i++) { for(uint32_t j=0; j<5;j++) { cout<<arr[i][j]; } cout<<endl; } return 0; }

  

以上是关于c++求两个字符串的最长公共子序列and子串的主要内容,如果未能解决你的问题,请参考以下文章

求字符串的最长公共子串

最长公共子串和最长公共子序列(LCS问题)

最长公共子串和最长公共子序列(LCS问题)

求两个字符串的最长公共子串,要求输入两个字符串,输出他们的最长公共子串,包括长度。

寻找最长公共子串(高分)

动态规划-最长公共子序列