Menu
CoddyTech

Word Break

On vous donne une chaîne s et une liste de mots wordDict. Renvoyez true si vous pouvez découper s en morceaux de sorte que chaque morceau soit un mot de wordDict, et false sinon.

Les morceaux conservent leur ordre et utilisent ensemble chaque lettre de s exactement une fois. Un mot peut être utilisé autant de fois que vous le souhaitez, et vous n’êtes pas obligé d’utiliser tous les mots.

Fonction

wordBreak(s: string, wordDict: string-array) → boolean
sstring
la chaîne à découper en mots
wordDictstring-array
les mots que vous pouvez utiliser, autant de fois que vous le souhaitez
Renvoieboolean
vrai si s peut être découpé en mots du dictionnaire, faux sinon

Contraintes

  • 1 ≤ s.length ≤ 300
  • 1 ≤ wordDict.length ≤ 1000
  • 1 ≤ wordDict[i].length ≤ 20
  • s et chaque mot ne contient que des lettres minuscules de l’alphabet anglais.
  • Les mots de wordDict sont tous différents.

Exemples

Entrée
s = "sunflowerseed"wordDict = ["sun", "flow", "flower", "seed"]
Sortie
true
Explication
Découpez-le en sun, flower, seed. Prendre flow après sun ne mène nulle part, car aucun mot ne commence par er, qui reste, donc le premier mot qui convient n’est pas toujours le bon.

lock icon+21 tests cachés à la soumission

challenge icon

Pour aller plus loin

Renvoie le plus petit nombre de mots qu’une coupe valide peut utiliser, ou -1 si s ne peut pas être découpé. Qu’est-ce qui change dans le tableau, et le temps d’exécution change-t-il ?

Réinitialiser le code
def wordBreak(s, wordDict):
    # Écrivez le code ici
Cas de test

Cas 1

Cas 2

Cas 3

Entrée

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

Attendu

true