Leecode 139.单词拆分
题目地址:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台
题目类型:完全背包
class Solution {
public:bool wordBreak(string s, vector<string>& wordDict) {// 完全背包问题// dp[i]代表从0~i的字符串能否使用后面的wordict拼写出来vector<bool> dp(s.size() + 1, false);dp[0] = true;// 要求顺序,先背包后物品for (int j = 1; j <= s.size(); ++j) {for (int i = 0; i < wordDict.size(); ++i) {// dp[j]由两个字符串组成,分别是:dp[j - size]和s.substr(j - size, size)string str = wordDict[i];int size = str.size();if (j - size >= 0) dp[j] = dp[j - size] && (str == s.substr(j - size, size));if (dp[j]) break;}}return dp[s.size()];}
};