Day 31 — Longest Common Subsequence

class Solution {
public int longestCommonSubsequence(String text1, String text2) {
int n = text1.length();
int m = text2.length();
char[] st1 = text1.toCharArray();
char[] st2 = text2.toCharArray();
int[][] dp = new int[n+1][m+1];
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= m; ++j) {
if (st1[i-1] == st2[j-1]) {
dp[i][j] = dp[i-1][j-1] + 1;
} else {
dp[i][j] = Math.max(dp[i-1][j], dp[i][j-1]);
}
}
}
return dp[n][m];
}
}

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store