Day 42 动态规划 part08
1道题目
139. 单词拆分
一开始用的回溯写,但是超时了,然后转到完全背包考虑,能确定背包和物品,但是在递推公式那里卡住了,其实只需确定dp[j]=True+s[j:i]在字典内,就可以dp[i]=True。
class Solution:
def wordBreak(self, s: str, wordDict: List[str]) -> bool:
n = len(s)
dp = [False] * (n + 1)
dp[0] = True
for i in range(1, n + 1):
for j in range(i):
if dp[j] and s[j: i] in wordDict:
dp[i] = True
return dp[n]