class Solution {
// 背包 = 字符串s,物品 = 字符串列表
// 完全背包,排列
public:
bool wordBreak(string s, vector<string>& wordDict) {
unordered_set<string> word_set(wordDict.begin(), wordDict.end());
vector<bool> 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 (word_set.find(word) != word_set.end() && dp[j]) {
dp[i] = true;
}
}
}
return dp[s.size()];
}
};
Day40 动态规划 — 完全背包
最新推荐文章于 2024-07-13 17:03:07 发布