Created
June 8, 2015 07:14
-
-
Save struCoder/9b8ef32acc8f0676cf79 to your computer and use it in GitHub Desktop.
editDistence
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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]; | |
| } |
Author
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
implement edit distence by javascript