网站怎样做收录会更好,国内永久免费crm游戏,网站建设基本完成,做网站 宁波目录 139.单词拆分 多重背包 背包问题总结 01背包 完全背包 多重背包 139.单词拆分 题目链接#xff1a;139. 单词拆分 不要求字典中的单词全部使用#xff0c;但是要求拆分的单词拆分成的每一个子串都是字典中的单词。 #xff08;1#xff09;dp[ i ] 表示前 i 个字符组成… 目录 139.单词拆分 多重背包 背包问题总结 01背包 完全背包 多重背包 139.单词拆分 题目链接139. 单词拆分 不要求字典中的单词全部使用但是要求拆分的单词拆分成的每一个子串都是字典中的单词。 1dp[ i ] 表示前 i 个字符组成的字符串可以被字典中的单词拆分 2dp[ i ] dp[ j ] check(str, i - j 1) 3均初始化为false 4强调子串顺序外层遍历背包内层遍历物品 class Solution {
public:bool wordBreak(string s, vectorstring wordDict) {unordered_setstring wordSet(wordDict.begin(), wordDict.end());vectorbool dp(s.size() 1, false);dp[0] true;for(int i 1; i s.size(); i){for(int j 0 ; j i; j){string word s.substr(j, i - j);if(dp[j] (wordSet.find(word) ! wordSet.end()))dp[i] true;}}return dp[s.size()];}
}; dp数组的更新并没有像我五部曲那样写因为并不是每次dp[ i ] 都需要更新。 多重背包 多重背包中将 物品的数量 转化为 数量个相同的物品转化成 01背包问题 C 实现中时在循环中遍历数量。 背包问题总结 01背包 物品数量为 1循环顺序外层遍历物品、内层从大到小遍历背包容量。 完全背包 物品数量无限循环顺序1组合问题外层遍历物品、内层从小到大遍历背包容量2排列问题外层遍历背包容量内层遍历物品。 多重背包 转化为 01背包。