Anagramas de Hamming mais distantes

Um anagrama é uma palavra, x, que se forma reorganizando as letras que compõem outra palavra, y, e usando todas as letras de y com a mesma frequência. Por exemplo, "dear" é um anagrama de "read" e "plead" é um anagrama de "paled".

A distância de Hamming entre duas strings é o número de posições nas quais elas diferem. As distâncias de Hamming só podem ser calculadas para strings de comprimento igual.

s1 = "eleven"

s2 = "twelve"

Elas só têm em comum a terceira posição (índice 2), resultando em uma distância de Hamming de 5.

Como os anagramas têm o mesmo comprimento, é possível calcular a distância de Hamming entre eles.

s1 = "read"

s2 = "dear"

Essas strings diferem na primeira e na última posição, resultando em uma distância de Hamming de 2. "Plead" e "paled" têm uma distância de Hamming de 3.

Crie uma função que receba duas strings e retorne:

  • True se elas forem anagramas entre si e a distância de Hamming for igual ao comprimento delas (ou seja, nenhuma letra está na mesma posição).
  • False se elas não forem anagramas, ou
  • A distância de Hamming delas se forem anagramas com >=1 letra no mesmo índice.

Exemplos

max_ham("dear", "read") ➞ 2

max_ham("dare", "read") ➞ True

max_ham("solemn", "molest") ➞ False

Observações

N/A