Menu
CoddyTech

Word Break

Você recebe uma string s e uma lista de palavras wordDict. Retorne true se puder dividir s em partes que sejam todas palavras de wordDict, e false caso contrário.

As partes mantêm a ordem e, juntas, usam cada letra de s exatamente uma vez. Uma palavra pode ser usada qualquer número de vezes, e você não precisa usar todas as palavras.

Função

wordBreak(s: string, wordDict: string-array) → boolean
sstring
a string a ser dividida em palavras
wordDictstring-array
as palavras que você pode usar, quantas vezes quiser
Retornaboolean
verdadeiro se s puder ser dividido em palavras do dicionário; falso caso contrário

Restrições

  • 1 ≤ s.length ≤ 300
  • 1 ≤ wordDict.length ≤ 1000
  • 1 ≤ wordDict[i].length ≤ 20
  • s e cada palavra contém apenas letras minúsculas do inglês.
  • As palavras em wordDict são todas diferentes.

Exemplos

Entrada
s = "sunflowerseed"wordDict = ["sun", "flow", "flower", "seed"]
Saída
true
Explicação
Divida como sun, flower, seed. Pegar flow depois de sun deixa er, com o qual nenhuma palavra começa, então a primeira palavra que se encaixa nem sempre é a correta.
challenge icon

Para ir além

Retorne o menor número de palavras que um corte válido pode usar, ou -1 se s não puder ser cortada. O que muda na tabela e o tempo de execução muda?

Redefinir código
def wordBreak(s, wordDict):
    # Escreva o código aqui

Teste #1

Teste #2

Teste #3

Argumentos

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

Saída Esperada

true