Menu
CoddyTech

Word Break

Otrzymujesz ciąg znaków s i listę słów wordDict. Zwróć true, jeśli możesz podzielić s na części, które wszystkie są słowami z wordDict, a w przeciwnym razie false.

Części zachowują swoją kolejność i razem wykorzystują każdą literę z s dokładnie raz. Słowo może być użyte dowolną liczbę razy, a nie musisz używać każdego słowa.

Funkcja

wordBreak(s: string, wordDict: string-array) → boolean
sstring
ciąg znaków do podzielenia na słowa
wordDictstring-array
słowa, których możesz używać, tak często, jak chcesz
Zwracaboolean
prawda, jeśli s można podzielić na słowa ze słownika, w przeciwnym razie fałsz

Ograniczenia

  • 1 ≤ s.length ≤ 300
  • 1 ≤ wordDict.length ≤ 1000
  • 1 ≤ wordDict[i].length ≤ 20
  • s i każde słowo zawierają wyłącznie małe litery alfabetu angielskiego.
  • Słowa w wordDict są różne.

Przykłady

Wejście
s = "sunflowerseed"wordDict = ["sun", "flow", "flower", "seed"]
Wyjście
true
Wyjaśnienie
Podziel to na sun, flower, seed. Wzięcie flow po sun pozostawia er, od którego nie zaczyna się żadne słowo, więc pierwsze pasujące słowo nie zawsze jest właściwe.
challenge icon

Pytanie dodatkowe

Zwróć najmniejszą liczbę słów, których może użyć prawidłowy podział, lub -1, jeśli nie można podzielić s. Co zmienia się w tabeli i czy zmienia się czas działania?

Zresetuj kod
def wordBreak(s, wordDict):
    # Wpisz tutaj kod

Test #1

Test #2

Test #3

Argumenty

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

Oczekiwany wynik

true