Menu
CoddyTech

Is Subsequence

LeichtZwei Zeigerpython iconjava iconcpp iconc iconjs icon+10

Du erhältst zwei Zeichenfolgen, s und t. Gib true zurück, wenn du t in s umwandeln kannst, indem du einige seiner Buchstaben löschst (möglicherweise auch keine), während die verbleibenden Buchstaben ihre Reihenfolge beibehalten, andernfalls false. Beispielsweise ist ace eine Teilsequenz von abcde, aber aec nicht.

Funktion

isSubsequence(s: string, t: string) → boolean
sstring
die zu suchende Zeichenfolge
tstring
die Zeichenfolge, aus der Buchstaben gelöscht werden sollen
Gibt zurückboolean
wahr, wenn s in t der Reihenfolge nach gelesen werden kann, möglicherweise mit Lücken

Einschränkungen

  • 1 ≤ s.length ≤ 3 × 104
  • 1 ≤ t.length ≤ 5 × 104
  • s und t enthalten nur englische Kleinbuchstaben.

Beispiele

Eingabe
s = "ace"t = "abcde"
Ausgabe
true
Erklärung
Wenn du b und d aus abcde löschst, bleibt ace in derselben Reihenfolge übrig.

lock icon+20 versteckte Tests beim Einreichen

challenge icon

Weiterführende Frage

Angenommen, t bleibt gleich und du musst eine Million verschiedene Zeichenketten s damit vergleichen. Wie würdest du t vorbereiten, damit jeder Vergleich schneller geht, als t jedes Mal wieder vollständig zu lesen?

Code zurücksetzen
def isSubsequence(s, t):
    # Schreibe hier den Code
Testfälle

Fall 1

Fall 2

Fall 3

Eingabe

s = "ace"
t = "abcde"

Erwartet

true