Menu
CoddyTech

Is Subsequence

FacileDue puntatoripython iconjava iconcpp iconc iconjs icon+10

Ti vengono date due stringhe, s e t. Restituisci true se puoi trasformare t in s eliminando alcune delle sue lettere (eventualmente nessuna), mantenendo l’ordine delle lettere rimanenti; altrimenti restituisci false. Ad esempio, ace è una sottosequenza di abcde, ma aec non lo è.

Funzione

isSubsequence(s: string, t: string) → boolean
sstring
la stringa da cercare
tstring
la stringa da cui eliminare le lettere
Restituisceboolean
true se s può essere letto all'interno di t in ordine, eventualmente con delle lacune

Vincoli

  • 1 ≤ s.length ≤ 3 × 104
  • 1 ≤ t.length ≤ 5 × 104
  • s e t contengono solo lettere minuscole inglesi.

Esempi

Input
s = "ace"t = "abcde"
Output
true
Spiegazione
Elimina b e d da abcde e rimane ace, nello stesso ordine.

lock icon+20 test nascosti all’invio

challenge icon

Per approfondire

Supponiamo che t resti invariata e che tu debba confrontare con essa un milione di stringhe diverse s. Come prepareresti t per rendere ogni controllo più veloce che rileggere ogni volta tutta t?

Ripristina il codice
def isSubsequence(s, t):
    # Scrivi il codice qui
Casi di test

Caso 1

Caso 2

Caso 3

Input

s = "ace"
t = "abcde"

Atteso

true