leetcode中等139单词拆分

Posted qq_40707462

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode中等139单词拆分相关的知识,希望对你有一定的参考价值。


思路:动态规划
dp[i]表示s[0:i]是否满足条件,dp[i]=dp[j] && s[j:i]是否在字典里

class Solution:
    def wordBreak(self, s: str, wordDict: List[str]) -> bool:
        l=len(s)
        dp=[False]*(l+1)
        dp[0]=True

        for i in range(1,l+1):
            for j in range(i):
                if dp[j] and (s[j:i] in wordDict):
                    dp[i]=True 
                    break 
        return dp[-1]
class Solution {
    public boolean wordBreak(String s, List<String> wordDict) {
        int l=s.length();
        boolean[] dp=new boolean[l+1];
        dp[0]=true;
        for(int i=1;i<=l;i++){
            for(int j=0;j<i;j++){
                if(dp[j]==true && wordDict.contains(s.substring(j,i))){
                    dp[i]=true;
                }
            }
        }
        return dp[l];
    }
}

以上是关于leetcode中等139单词拆分的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 139. 单词拆分 | Python

[LeetCode] 139. 单词拆分 ☆☆☆(动态规划 回溯)

leetcode 139.单词拆分

LeetCode——139. 单词拆分

LeetCode 139. 单词拆分

Leetcode No.139 单词拆分(动态规划)