Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Solution {
- public:
- string s1,s2;
- int n,m;
- int dp[1006][1006];
- int lcs(int i,int j)
- {
- if(i==n or j==m)return 0;
- if(dp[i][j]!=-1)return dp[i][j];
- int ret;
- if(s1[i]==s2[j])
- {
- ret=1+lcs(i+1,j+1);
- }else{
- ret=max(lcs(i+1,j),lcs(i,j+1));
- }
- dp[i][j]=ret;
- return dp[i][j];
- }
- int longestCommonSubsequence(string text1, string text2) {
- s1=text1;
- s2=text2;
- n=s1.size();
- m=s2.size();
- memset(dp,-1,sizeof(dp));
- return lcs(0,0);
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement