题目描述:
动态规划分析:
代码:
class Solution {
public:
bool wordBreak(string s, vector<string>& wordDict) {
unordered_set<string> m;
int n=wordDict.size();
for(int i=0;i<n;i++)
{
m.emplace(wordDict[i]);
}
n=s.size();
vector<int> dp(n+1,0);
dp[0]=1;
for(int i=1;i<=n;i++)
{
for(int j=0;j<i;j++)
{
string t=s.substr(j,i-j);
if(dp[j] && m.find(t)!=m.end())
{
dp[i]=1;
break;
}
}
}
return dp[n];
}
};