Skip to content

Instantly share code, notes, and snippets.

@struCoder
Created June 8, 2015 07:14
Show Gist options
  • Select an option

  • Save struCoder/9b8ef32acc8f0676cf79 to your computer and use it in GitHub Desktop.

Select an option

Save struCoder/9b8ef32acc8f0676cf79 to your computer and use it in GitHub Desktop.
editDistence
var getStrDistance = function(str1, str2) {
var lenStr1 = str1.length;
var lenStr2 = str2.length;
if (lenStr1 === 0 || lenStr2 === 0) {
return lenStr1 === 0 ? lenStr2 : lenStr1;
}
var dArr = new Array(lenStr1 + 1);
for (var i = 0; i <= lenStr1; i++) {
dArr[i] = new Array(lenStr2 + 1);
dArr[i][0] = i;
}
for(var j = 0; j <= lenStr2; j++) {
dArr[0][j] = j;
}
for(var k = 1; k <= lenStr1; k++) {
for(var l = 1; l <= lenStr2; l++) {
dArr[k][l] = Math.min(
dArr[k - 1][l - 1] + (str1[k - 1] === str2[l - 1] ? 0 : 1),
dArr[k - 1][l] + 1,
dArr[k][l - 1] + 1
)
}
}
return dArr[lenStr1][lenStr2];
}
@struCoder
Copy link
Copy Markdown
Author

implement edit distence by javascript

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment