public int minDistance(String word1, String word2) {
//
int rowNum = word1.length();
int colNum = word2.length();
int[][] dist = new int[rowNum + 1][colNum + 1];
for(int j = 0; j < rowNum + 1; j++) dist[j][0] = j;
for(int j = 0; j < colNum + 1; j++) dist[0][j] = j;
for(int m = 1 ; m <= rowNum; m++) {
for(int n = 1; n <= colNum; n++) {
if(word1.charAt(m - 1) == word2.charAt(n-1)) {
dist[m][n] = dist[m-1][n-1];
} else {
int min = dist[m-1][n] < dist[m][n-1] ? dist[m-1][n]: dist[m][n-1];
min = min < dist[m-1][n-1] ? min : dist[m-1][n-1];
dist[m][n] = min + 1;
}
}
}
return dist[rowNum][colNum];
}
leetcode edit distance
最新推荐文章于 2020-05-23 11:51:44 发布