Menu
CoddyTech

Isomorphic Strings

LeichtHashingpython iconjava iconcpp iconc iconjs icon+10

Zwei Zeichenketten sind isomorph, wenn du die Zeichen der ersten umbenennen kannst, um die zweite zu erhalten. Jedes Vorkommen eines Zeichens erhält denselben neuen Namen, zwei verschiedene Zeichen erhalten niemals denselben Namen, und ein Zeichen kann seinen eigenen Namen behalten. Gib für zwei Zeichenketten s und t gleicher Länge true zurück, wenn sie isomorph sind, und false, wenn sie es nicht sind.

Funktion

isIsomorphic(s: string, t: string) → boolean
sstring
die umzubenennende Zeichenfolge, Buchstaben und Ziffern
tstring
die zu erreichende Zeichenfolge, dieselbe Länge wie s
Gibt zurückboolean
wahr, wenn eine bijektive Umbenennung der Zeichen von s t ergibt

Einschränkungen

  • 1 ≤ s.length ≤ 2 × 104
  • t.length == s.length
  • s und t enthalten nur englische Buchstaben und Ziffern. Groß- und Kleinbuchstaben sind unterschiedliche Zeichen.

Beispiele

Eingabe
s = "noon"t = "deed"
Ausgabe
true
Erklärung
Benenne n in d und o in e um. Jede Position stimmt mit dieser Umbenennung überein, und die beiden Buchstaben erhalten unterschiedliche Namen.
challenge icon

Weiterführende Frage

Gegeben ist eine Liste von Wörtern. Kannst du die Wörter, die zueinander isomorph sind, gruppieren, ohne jedes Wortpaar zu vergleichen?

Code zurücksetzen
def isIsomorphic(s, t):
    # Schreibe hier den Code

Test #1

Test #2

Test #3

Argumente

s = "noon"
t = "deed"

Erwartete Ausgabe

true