Untitled

 avatar
unknown
plain_text
2 years ago
870 B
4
Indexable
#include <iostream>
#include <cstring>
 
using namespace std;
 
int longestCommonSubsequenceLength(string text1, string text2) {
    int m = text1.length();
    int n = text2.length();
 
    int dp[m + 1][n + 1];
 
    for (int i = 0; i <= m; i++) {
        for (int j = 0; j <= n; j++) {
            if (i == 0 || j == 0) {
                dp[i][j] = 0;
            } else if (text1[i - 1] == text2[j - 1]) {
                dp[i][j] = dp[i - 1][j - 1] + 1;
            } else {
                dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]);
            }
        }
    }
 
    return dp[m][n];
}
 
int main() {
    string text1 = "AGGTAB";
    string text2 = "GXTXAYB";
 
    int lengthOfLCS = longestCommonSubsequenceLength(text1, text2);
 
    cout << "Length of Longest Common Subsequence: " << lengthOfLCS << endl;
 
    return 0;
}
Editor is loading...