Java中的Levenshtein算法
我正试图用Java实现Levenshtein的算法,灵感来自于此Java中的Levenshtein算法,java,levenshtein-distance,Java,Levenshtein Distance,我正试图用Java实现Levenshtein的算法,灵感来自于此 公共静态整数指示器(字符a、字符b){ 返回值(a==b)?0:1; } 公共静态int-levenshtein(字符串标记1,字符串标记2){ int[]levi=newint[token2.length()+1]; int[]levi_1=新的int[token2.length()+1]; //初始化列i=0 for(int j=0;j i=len(token1) 对于(int i=1;i而言,问题来自这一行: levi_1
公共静态整数指示器(字符a、字符b){
返回值(a==b)?0:1;
}
公共静态int-levenshtein(字符串标记1,字符串标记2){
int[]levi=newint[token2.length()+1];
int[]levi_1=新的int[token2.length()+1];
//初始化列i=0
for(int j=0;j i=len(token1)
对于(int i=1;i而言,问题来自这一行:
levi_1 = levi;
此行不会更改levi_1
数组中的每个值,它只更改其引用;调用levi_1[0]
,levi_1[1]
等时,值仍然相同
我建议你写下以下几行:
for (int k = 0; k < levi.length; k++)
levi_1[k] = levi[k];
for(int k=0;k
什么是指示符
方法?将其添加到代码中。您的方法返回什么?我看到它应该输出一个整数,它是levi[levi.length-1]
?修复了它。是的,它返回那个
for (int k = 0; k < levi.length; k++)
levi_1[k] = levi[k];