1 2 3 4 5 6 7 8 9 10 11 12 13
| class Solution { public: int longestCommonSubsequence(string text1, string text2) { int m = text1.size(), n = text2.size(); int dp[m + 1][n + 1]; memset(dp, 0, sizeof(dp)); for (size_t i = 1; i <= m; ++i) for (size_t j = 1; j <= n; ++j) dp[i][j] = (text1[i - 1] == text2[j - 1]) ? dp[i - 1][j - 1] + 1 : max(dp[i - 1][j], dp[i][j - 1]); return dp[m][n]; } };
|