// Recurssive Function (Min Edit distance of two strings)
public static int editDistance(String s1, String s2)
{
int len1 = s1.length();
int len2 = s2.length();
return editDistanceUtil(s1,s2,len1-1,len2-1);
}
private static int editDistanceUtil(String s1, String s2, int i, int j)
{
if(i == -1 && j == -1) return 0;
if(i == -1) return j+1;
if(j == -1) return i+1;
int diff = 1;
if(s1.charAt(i) == s2.charAt(j))
diff = 0;
return min((editDistanceUtil(s1, s2, i, j-1)+1),
(editDistanceUtil(s1, s2, i-1, j-1) + diff),
(editDistanceUtil(s1, s2, i-1, j) + 1));
}
Monday, December 15, 2014
Edit distance of two strings
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment