Menu
CoddyTech

Word Break

Recibes una cadena s y una lista de palabras wordDict. Devuelve true si puedes dividir s en partes que sean todas palabras de wordDict, y false en caso contrario.

Las partes mantienen su orden y, juntas, usan cada letra de s exactamente una vez. Puedes usar una palabra cualquier número de veces y no tienes que usar todas las palabras.

Función

wordBreak(s: string, wordDict: string-array) → boolean
sstring
la cadena que se va a dividir en palabras
wordDictstring-array
las palabras que puedes usar, tantas veces como quieras
Devuelveboolean
verdadero si s se puede dividir en palabras del diccionario; falso en caso contrario

Restricciones

  • 1 ≤ s.length ≤ 300
  • 1 ≤ wordDict.length ≤ 1000
  • 1 ≤ wordDict[i].length ≤ 20
  • s y cada palabra contiene solo letras minúsculas del inglés.
  • Las palabras de wordDict son todas diferentes.

Ejemplos

Entrada
s = "sunflowerseed"wordDict = ["sun", "flow", "flower", "seed"]
Salida
true
Explicación
Córtalo como sun, flower, seed. Tomar flow después de sun deja er, con lo que ninguna palabra empieza, así que la primera palabra que encaja no siempre es la correcta.
challenge icon

Para ir más allá

Devuelve la menor cantidad de palabras que puede usar un corte válido, o -1 si s no se puede cortar. ¿Qué cambia en la tabla y cambia el tiempo de ejecución?

Restablecer código
def wordBreak(s, wordDict):
    # Escribe el código aquí

Prueba #1

Prueba #2

Prueba #3

Argumentos

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

Salida Esperada

true