Java的实现方法,那个,返回百分比的函数没写 。。。自己根据上面写就可以了
public class Distance {
private int Minimum (int a, int b, int c) {
int mi;
mi = a;
if (b < mi) {
mi = b;
}
if (c < mi) {
mi = c;
}
return mi;
}
public int LD (String s, String t) {
int d[][];
int n;
int m;
int i;
int j;
char s_i;
char t_j;
int cost;
n = s.length ();
m = t.length ();
if (n == 0) {
return m;
}
if (m == 0) {
return n;
}
d = new int[n+1][m+1];
for (i = 0; i <= n; i++) {
d[i][0] = i;
}
for (j = 0; j <= m; j++) {
d[0][j] = j;
}
for (i = 1; i <= n; i++) {
s_i = XXXXarAt (i - 1);
for (j = 1; j <= m; j++) {
t_j = XXXXarAt (j - 1);
if (s_i == t_j) {
cost = 0;
}
else {
cost = 1;
}
d[i][j] = Minimum (d[i-1][j]+1, d[i][j-1]+1, d[i-1][j-1] + cost);
}
}
return d[n][m];
}
}