【LeetCode练习】[中等]139. 单词拆分

【LeetCode练习】[中等]139. 单词拆分

139. 单词拆分

139. 单词拆分

算法思想:dp

题目:

在这里插入图片描述
转移矩阵:dp[i]=dp[j] && check(s[j…i−1])

java代码

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

猜你喜欢

转载自blog.csdn.net/qq_39457586/article/details/115057628
今日推荐