Skip to content

Commit 1cfec46

Browse files
committed
Time: 44 ms (28.46%), Space: 10.9 MB (64.51%) - LeetHub
1 parent 6c1a705 commit 1cfec46

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
class Solution {
2+
int dp[1001][1001];
3+
public:
4+
int go(string& s1, string& s2, int i, int j, int n, int m){
5+
6+
if(dp[i][j] != -1)
7+
return dp[i][j];
8+
9+
int cost = 0;
10+
if(i == n and j == m)
11+
cost = 0;
12+
else if(i == n)
13+
cost = go(s1,s2,i,j+1,n,m) + s2[j];
14+
else if(j == m)
15+
cost = go(s1,s2,i+1,j,n,m) + s1[i];
16+
else if(s1[i] == s2[j])
17+
cost = go(s1, s2, i + 1, j+1, n, m);
18+
else{
19+
int f = go(s1,s2,i+1,j,n,m) + s1[i];// delete s1[i]
20+
int s = go(s1,s2,i,j+1,n,m) + s2[j];
21+
cost = min(f,s);
22+
}
23+
24+
return dp[i][j] = cost;
25+
}
26+
27+
int minimumDeleteSum(string s1, string s2) {
28+
int n = s1.size();
29+
int m = s2.size();
30+
memset(dp, -1, sizeof(dp));
31+
return go(s1, s2, 0, 0, n, m);
32+
}
33+
};

0 commit comments

Comments
 (0)