Instruções

Distância de Levenshtein

Em teoria da informação e ciência da computação, a Levenshtein distance é uma métrica para medir a quantidade de diferença entre duas sequências (ou seja, uma edit distance). A distância de Levenshtein entre duas strings é definida como o número mínimo de edições necessárias para transformar uma sequência de caracteres em outra, com as operações de edição permitidas sendo inserção, exclusão ou substituição de um único caractere. Exemplo: A distância de Levenshtein entre "kitten" e "sitting" é 3, já que as três edições a seguir transformam um no outro e não há uma maneira de fazer isso com menos de três edições: <ul> <li><strong>k</strong>itten   <strong>s</strong>itten    (substitution of 'k' with 's')</li> <li>sitt<strong>e</strong>n   sitt<strong>i</strong>n    (substitution of 'e' with 'i')</li> <li>sittin   sittin<strong>g</strong>    (insert 'g' at the end).</li> </ul> *A distância de Levenshtein entre "rosettacode" e "raisethysword" é 8.* *A distância entre duas strings é a mesma que quando ambas as strings são invertidas.*

O que fazer:

Escreva uma função que retorne a distância de Levenshtein entre duas strings dadas como parâmetros.

Critérios de Aceitação:

Testes:

  • `levenshtein` deve ser uma função.
  • `levenshtein("mist", "dist")` deve retornar um número.
  • `levenshtein("mist", "dist")` deve retornar `1`.
  • `levenshtein("tier", "tor")` deve retornar `2`.
  • `levenshtein("kitten", "sitting")` deve retornar `3`.
  • `levenshtein("stop", "tops")` deve retornar `2`.
  • `levenshtein("rosettacode", "raisethysword")` deve retornar `8`.
  • `levenshtein("mississippi", "swiss miss")` deve retornar `8`.

Console