您的位置:首页 > 其它

LeetCode 139. Word Break

2015-02-19 22:28 435 查看
动态规划。

dp[i] == true表示s.substr(0, i)可以由dict里的字符串组成;

dp[0]初始化为true, dp[1, ..., s.size()]初始化为false.

代码:

class Solution
{
public:
bool wordBreak(string s, unordered_set<string> &dict)
{
vector<bool> dp(s.size() + 1, false);
dp[0] = true;
for (size_t i = 0; i < s.size(); ++ i)
{
if (dp[i] == true)
{
for (size_t length = 1; i + length <= s.size(); ++ length)
{
dp[i + length] = dp[i + length]? true:
dict.find(s.substr(i, length))!=dict.end();
}
}
}
return dp[s.size()];
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  LeetCode