Menu
CoddyTech

Isomorphic Strings

FácilHashingpython iconjava iconcpp iconc iconjs icon+10

Duas strings são isomórficas quando você pode renomear os caracteres da primeira para obter a segunda. Todas as ocorrências de um caractere recebem o mesmo novo nome, dois caracteres diferentes nunca recebem o mesmo nome, e um caractere pode manter o próprio nome. Para duas strings s e t do mesmo comprimento, retorne true quando forem isomórficas e false quando não forem.

Função

isIsomorphic(s: string, t: string) → boolean
sstring
a string a ser renomeada, letras e dígitos
tstring
uma string a ser alcançada, com o mesmo comprimento que s
Retornaboolean
verdadeiro se uma renomeação bijetiva dos caracteres de s resulta em t

Restrições

  • 1 ≤ s.length ≤ 2 × 104
  • t.length == s.length
  • s e t contêm apenas letras do alfabeto inglês e dígitos. Letras maiúsculas e minúsculas são caracteres diferentes.

Exemplos

Entrada
s = "noon"t = "deed"
Saída
true
Explicação
Renomeie n para d e o para e. Todas as posições estão de acordo com essa renomeação, e as duas letras recebem nomes diferentes.
challenge icon

Para ir além

Dada uma lista de palavras, você consegue agrupar as que são isomorfas entre si sem comparar todos os pares de palavras?

Redefinir código
def isIsomorphic(s, t):
    # Escreva o código aqui

Teste #1

Teste #2

Teste #3

Argumentos

s = "noon"
t = "deed"

Saída Esperada

true