Menu
CoddyTech

Word Break

Kamu mendapat sebuah string s dan sebuah list kata wordDict. Kembalikan true jika kamu dapat membagi s menjadi beberapa bagian yang semuanya merupakan kata dari wordDict, dan false jika tidak.

Bagian-bagian tersebut tetap berurutan dan secara keseluruhan menggunakan setiap huruf dalam s tepat satu kali. Sebuah kata dapat digunakan berapa kali pun, dan kamu tidak harus menggunakan setiap kata.

Fungsi

wordBreak(s: string, wordDict: string-array) → boolean
sstring
string yang akan dipotong menjadi kata-kata
wordDictstring-array
kata-kata yang boleh kamu gunakan, sebanyak yang kamu mau
Mengembalikanboolean
true jika s dapat dipisah menjadi kata-kata dalam dictionary, false jika tidak

Batasan

  • 1 ≤ s.length ≤ 300
  • 1 ≤ wordDict.length ≤ 1000
  • 1 ≤ wordDict[i].length ≤ 20
  • s dan setiap kata hanya terdiri dari huruf kecil bahasa Inggris.
  • Kata-kata dalam wordDict semuanya berbeda.

Contoh

Input
s = "sunflowerseed"wordDict = ["sun", "flow", "flower", "seed"]
Output
true
Penjelasan
Pisahkan menjadi sun, flower, seed. Mengambil flow setelah sun menyisakan er, yang tidak menjadi awalan kata apa pun, jadi kata pertama yang cocok belum tentu selalu tepat.
challenge icon

Pertanyaan lanjutan

Kembalikan jumlah kata paling sedikit yang dapat digunakan oleh cut yang valid, atau -1 jika s tidak dapat dipotong. Apa yang berubah pada tabel, dan apakah waktu eksekusinya berubah?

Reset kode
def wordBreak(s, wordDict):
    # Tulis kodemu di sini

Tes #1

Tes #2

Tes #3

Argumen

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

Output yang diharapkan

true