题目:
代码(首刷看解析 2024年2月28日):
class Solution {
public:// 动态规划bool wordBreak(string s, vector<string>& wordDict) {int n = s.size();// 初始化dp[i]vector<int> dp(n + 1, false);dp[0] = true;// 遍历 排列 先n再wordDictfor (int i = 1; i <= n; ++i) {for (int j = 0; j < i; ++j) {string word = s.substr(j , i - j);if (find(wordDict.begin(), wordDict.end(), word) != wordDict.end() && dp[j] == true)dp[i] = true;}}return dp[n];// 递归公式:if (子字符 在 wordDict 中存在,且 dp[j] == true) dp[i] == true;}
};