Функціональний блок LEVENSHTEIN

Функціональний блок LEVENSHTEIN обчислює відстань Левенштейна між двома рядками.

Відстань Левенштейна позначає мінімальну кількість символів, які потрібно замінити, вставити або видалити, щоб перетворити значення входу STR1 у значення входу STR2. Складність алгоритму становить O(m*n), де n і m — довжина STR1 та STR2 відповідно (досить добре порівняно з функціональним блоком SIMILAR_TEXT, який дорівнює O(max(n,m)³), але все одно витратний).

Вхід STR1

Вхід визначає перший рядок, який потрібно порівняти.

Вхід STR2

Вхід визначає другий рядок, який потрібно порівняти.

Вхід COST_INS

Вхід визначає вартість вставки.

Вхід COST_REP

Вхід визначає вартість заміни.

Вхід COST_DEL

Вхід визначає вартість видалення.

Вивід

Вивід повертає відстань Левенштейна між двома входами STR1 та STR2 або -1, якщо один з аргументів довший за 255 символів.