题目描述:
dp[i] 表示字符串s前i个字符能被拆分,初始化dp[Flase,Flase...,Flase]
dp[0]表示当字符串为空时,能够被拆分,dp[0]=True,题目给定字符串非空,因此测试用例中不会出现空字符串
若dp[i]=True 且 s[i:j+1]在wordDict中,则 s[:j+1]能够被拆分,dp[j]=True
class Solution:
def wordBreak(self, s: str, wordDict: List[str]) -> bool:
dp = [False for _ in range(len(s)+1)]
dp[0]=True
for i in range(len(s)):
for j in range(i+1,len(s)+1):
if dp[i] and s[i:j] in wordDict:
dp[j]=True
return dp[-1]
动态规划!!!!什么时候能学好动态规划也是真的见鬼了,我哭