15 lines
431 B
Python
15 lines
431 B
Python
def word_break(s, wordDict):
|
|
dp = [True] + [False] * len(s)
|
|
for i in range(1, len(s) + 1):
|
|
for w in wordDict:
|
|
j = i - len(w)
|
|
if j >= 0 and dp[j] and s[j:i] == w:
|
|
dp[i] = True
|
|
break
|
|
return dp[-1]
|
|
|
|
|
|
if __name__ == "__main__":
|
|
print(word_break("applepenapple", ["apple", "pen"]))
|
|
print(word_break("catsandog", ["cats", "dog", "sand", "and", "cat"]))
|