当前位置 博文首页 > zcy_wxy的博客:编辑距离的动态规划算法Java实现--34页
具体代码实现如下:?
public static int[][] getPlan(String str1 , String str2){
//获取基本数据
char[] a1 = str1.toCharArray();
int a1len = a1.length;
char[] a2 = str2.toCharArray();
int a2len = a2.length ;
int[][] result = new int[a1len+1][a2len+1];
//给第一行赋值
for(int j = 0 ; j < a2len+1 ; j++) {
result[0][j] = j ;
}
//给每一行赋值
for(int i = 1 ;i < a1len +1 ; i++ ) {
result[i][0] = i ;
for(int j = 1 ; j < a2len+1 ;j++) {
if(a1[i-1] == a2[j-1]) {
result[i][j] = result [i-1][j-1];
}else {
//核心语句,我也不是很理解,可以留言给我讲讲,谢谢
result[i][j] =Math.min(
Math.min(result[i][j-1], result[i-1][j]) ,
result[i-1][j-1]
)+1 ;
}
}
}
return result;
}
?
cs