Menu
CoddyTech

Word Break

Hai una stringa s e un elenco di parole wordDict. Restituisci true se puoi suddividere s in parti in modo che ogni parte sia una parola presente 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, 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 inglesi minuscole.
  • 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 non porta a nulla, perché nessuna parola inizia con er, che è ciò che rimane, quindi la prima parola che va bene non è sempre quella giusta.

lock icon+21 test nascosti all’invio

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 il tempo di esecuzione cambia?

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

Caso 1

Caso 2

Caso 3

Input

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

Atteso

true