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:
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