Menu
CoddyTech

Word Break

Ricevi una stringa s e un elenco di parole wordDict. Restituisci true se puoi suddividere s in parti che siano tutte parole contenute in wordDict, e false altrimenti.

Le parti mantengono il loro ordine e, insieme, usano ogni lettera di s esattamente una volta. Una parola può essere usata un numero qualsiasi di volte e non devi usare tutte le parole.

Funzione

wordBreak(s: string, wordDict: string-array) → boolean
sstring
la stringa da suddividere in parole
wordDictstring-array
le parole che puoi usare, ciascuna tutte le volte che vuoi
Restituisceboolean
vero se s può essere suddivisa in parole del dizionario, falso altrimenti

Vincoli

  • 1 ≤ s.length ≤ 300
  • 1 ≤ wordDict.length ≤ 1000
  • 1 ≤ wordDict[i].length ≤ 20
  • s e ogni parola contiene solo lettere minuscole inglesi.
  • Le parole in wordDict sono tutte diverse.

Esempi

Input
s = "sunflowerseed"wordDict = ["sun", "flow", "flower", "seed"]
Output
true
Spiegazione
Dividila in sun, flower, seed. Prendere flow dopo sun lascia er, con cui non inizia nessuna parola, quindi la prima parola che corrisponde non è sempre quella giusta.
challenge icon

Per approfondire

Restituisci il minor numero di parole che un taglio valido può usare, oppure -1 se s non può essere tagliata. Cosa cambia nella tabella e cambia il tempo di esecuzione?

Ripristina il codice
def wordBreak(s, wordDict):
    # Scrivi il codice qui

Test #1

Test #2

Test #3

Argomenti

s = "sunflowerseed"
wordDict = ["sun", "flow", "flower", "seed"]

Output atteso

true