Menu
CoddyTech

Is Subsequence

Otrzymujesz dwa ciągi znaków, s i t. Zwróć true, jeśli możesz przekształcić t w s, usuwając niektóre z jego liter (być może żadnej), tak aby pozostałe litery zachowały swoją kolejność, a w przeciwnym razie zwróć false. Na przykład ace jest podciągiem abcde, ale aec nim nie jest.

Funkcja

isSubsequence(s: string, t: string) → boolean
sstring
ciąg znaków, którego należy szukać
tstring
ciąg znaków, z którego należy usunąć litery
Zwracaboolean
true, jeśli s można odczytać w t po kolei, z możliwymi przerwami

Ograniczenia

  • 1 ≤ s.length ≤ 3 × 104
  • 1 ≤ t.length ≤ 5 × 104
  • s i t zawierają wyłącznie małe litery alfabetu angielskiego.

Przykłady

Wejście
s = "ace"t = "abcde"
Wyjście
true
Wyjaśnienie
Usuń b i d z abcde, a pozostanie ace, w tej samej kolejności.

lock icon+20 ukrytych testów przy wysłaniu

challenge icon

Pytanie dodatkowe

Załóżmy, że t pozostaje bez zmian i musisz sprawdzić milion różnych ciągów znaków s pod jego kątem. Jak przygotujesz t, aby każde sprawdzenie było szybsze niż ponowne odczytywanie całego t?

Zresetuj kod
def isSubsequence(s, t):
    # Napisz kod tutaj
Przypadki testowe

Przypadek 1

Przypadek 2

Przypadek 3

Wejście

s = "ace"
t = "abcde"

Oczekiwane

true