Skip to content

Commit 1dd401f

Browse files
authored
Edit Distance
1 parent 0c438e5 commit 1dd401f

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

Dynamic-Programming/findED.cpp

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
class Solution {
2+
public:
3+
int dp[101][101];
4+
5+
int findED(string s, string t, int m, int n) {
6+
if(m == -1) return n+1;
7+
if(n == -1) return m+1;
8+
9+
if(dp[m][n]!=-1) return dp[m][n];
10+
11+
if(s[m]==t[n]) return dp[m][n] = findED(s,t, m-1, n-1);
12+
int costReplace = findED(s, t, m-1, n-1);
13+
int costInsertY = findED(s, t, m-1, n);
14+
int costDeleteX = findED(s, t, m , n-1);
15+
16+
dp[m][n] = 1 + min(costReplace, min(costInsertY, costDeleteX));
17+
return dp[m][n];
18+
}
19+
20+
int editDistance(string s, string t) {
21+
memset(dp, -1, sizeof(dp));
22+
int m = s.size();
23+
int n = t.size();
24+
return findED(s, t, m -1, n-1);
25+
26+
}
27+
};

0 commit comments

Comments
 (0)