代码随想录算法训练营第四十六天| ● 139.单词拆分 ● 关于多重背包,你该了解这些! ● 背包问题总结篇!

139.单词拆分

类似于回溯算法章节的分割回文串,可以去复习一下

class Solution:
    def wordBreak(self, s: str, wordDict: List[str]) -> bool:
        #dp[i]:表示字符串长度为i,如果字符串能被字典里的元素组成,则dp[i]为True,否则为False
        # wordDict=set(wordDict)
        dp=[False]*(len(s)+1)
        dp[0]=True
        for i in range(1,len(s)+1):
            for j in range(i):
                if s[j:i] in wordDict and dp[j]==True:
                    dp[i]=True
                    break
        return dp[len(s)]   

关于多重背包,你该了解这些!

你可能感兴趣的:(算法)