使用dp数组标记分割结果,时间复杂读为o(n2).
class Solution {
public:
bool wordBreak(string s, unordered_set<string> &dict) {
int n=(int)s.size();
vector<bool> dp(n+1,false);
dp[0]=true;
for(int i=1;i<=n;i++)
{
int index=i-1;
if(dp[index])
{
int j=index;
for(;j<=n;j++)
{
string sub=s.substr(index,j-index+1);
if(dict.count(sub)!=0)
{
dp[j+1]=true;
}
}
}
}
return dp[n];
}
};
leetcode:Word Break
最新推荐文章于 2021-03-11 16:10:14 发布