Реализации алгоритмов/Расстояние Левенштейна: различия между версиями
Содержимое удалено Содержимое добавлено
Строка 219:
<source lang="Java">
public static int
▲ int[] D2 = new int[n + 1];
}
System.arraycopy(D2, 0, D1, 0, D1.length);
D2[0] = i;
for(int j = 0; j <= n; j ++) {▼
int cost = (S1.charAt(i - 1) != S2.charAt(j - 1)) ? 1 : 0;▼
</source>▼
D2[j] = min(
D1[j] + 1,
D2[j - 1] + 1,
D1[j - 1] + cost
);
}
}
return D2[D2.length - 1];
}
private static int min(int n1, int n2, int n3) {
return Math.min(Math.min(n1, n2), n3);
}
▲</source>
== [[w:Scala|Scala]] ==
|