本文主要是介绍139.单词拆分,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
给你一个字符串 s
和一个字符串列表 wordDict
作为字典。如果可以利用字典中出现的一个或多个单词拼接出 s
则返回 true
。
注意:不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。
排序问题:有顺序,先遍历背包容量,再遍历数组
组合相反
class Solution {public boolean wordBreak(String s, List<String> wordDict) {boolean[] dp = new boolean[s.length() + 1];dp[0] = true;for(int i = 1; i <= s.length(); i++){for(int j = 0; j < wordDict.size(); j++){int len = wordDict.get(j).length();if(i < len) continue;// 对于每个容量,都重新遍历数组,确定是否添加元素,完全背包if(wordDict.get(j).equals(s.substring(i - len, i)) && dp[i - len]) {dp[i] = true;}}}return dp[s.length()];}
}
这篇关于139.单词拆分的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!