链接: https://oj.leetcode.com/problems/word-break/
dp[i] 表示s[0~i] 能否分割成dict中的单词
class Solution
{
public:
bool wordBreak(string s,unordered_set<string> &dict)
{
bool dp[s.length()];
for(int i=0;i<s.length();i++)
dp[i]=false;
for(int i=0;i<s.length();i++)
{
if( dict.find(s.substr(0,i+1) )!=dict.end() )
{
dp[i]=true;
continue;
}
for(int j=0;j<i;j++)
{
if( dp[j]&&dict.find( s.substr(j+1,i-j)) !=dict.end() )
{
dp[i]=true;
break;
}
}
}
return dp[s.length()-1];
}
};