Это продолжение задачи: код, близкий к задаче: сумма целых чисел
Задача в этой игре немного сложнее, а также создает крутой заголовок (вот почему я выбрал его):
Рассчитайте расстояние Левенштейна между двумя струнами
Точно так же, как и в прошлом, ваш результат в этом задании - это расстояние Левенштейна между вашим кодом и приведенной выше цитатой.
Так что теперь для деталей!
Ваша программа будет принимать 2 входа, обе строки без пробелов и переносов, и будет выводить расстояние Левенштейна между ними. Расстояние Левенштиена определяется как количество добавлений, удалений и замен, необходимых для преобразования одной строки в другую. Для получения дополнительной информации о том, как рассчитать его, см. Ссылку на страницу Википедии, приведенную выше. Чтобы проверить, работает ли ваша программа, используйте этот калькулятор . Ваша программа не должна выводить ничего, кроме расстояния Левенштейна между двумя строками. Он будет дисквалифицирован, если что-либо еще будет выведено. Пример ввода / вывода:
Inputs:
test
test2
Output:
1
Inputs:
222
515
Output:
3
Inputs:
Test
test
Output:
1
Ваш код может не иметь никаких операций или комментариев.
источник
R, расстояние 35
Это создает функцию
Calculate
с параметрамиthe
иLevenshtein
. Он использует встроенную функцию Radist
для вычисления расстояния. Параметры строки вadist
по существуthe
иLevenshtein
переименованы вbetween
иtwo
.источник
PHP4.1, расстояние
32221514Очень простой, ничего захватывающего.
Или более короткая версия:
Чтобы это работало, вам нужно отправить / установить переменную POST / GET / COOKIE / session с ключами:
distance
(istance
для более короткого)between_two_strings
(etweentwostrin
для более короткого)Аргументы в таком порядке.
Проверьте счет на http://ideone.com/QzNZ8T
Пример:
источник
"Your code may not have no-ops or comments."
и ваши изменения просто добавили комментарий HTML.PHP, расстояние 44
Используйте встроенную
levenshtein
функцию из стандартной библиотеки PHP и назовите аргументы, чтобы попытаться минимизировать расстояние.источник
$two,$strings
?;
echo$Calculate_the=levenshtein($_GET[distance_between_two],$_GET[strings]);
Пип, расстояние 50
Не использует встроенную функцию Левенштейна!
Этот код реализует рекурсивный алгоритм Левенштейна ; как таковой, он очень медленный, занимает несколько секунд даже для строк длиной 5. Я бы не рекомендовал запускать программу через себя, чтобы проверить это!
Вот мой базовый код с пробелами и комментариями:
Основное изменение в окончательном варианте является назначение некоторых значений временных переменных
c
иe
, которые появляются в строке вызова и , таким образом , уменьшить расстояние Левенштейна немного.источник