Given a string s and a dictionary of words dict, determine if s can be segmented into a space-separated sequence of one or more dictionary words.
For example, given
s = "leetcode",
dict = ["leet", "code"].
Return true because "leetcode" can be segmented as "leet
code".
class Solution {
public:
bool wordBreak(string s, unordered_set<string> &dict) {
const int n = s.size();
bool f[n+1];
fill_n(&f[0], n+1, false);
f[0] = true;
for (int i = 1; i <= n; i++) {
for (int j = i - 1; j >= 0; j--) {
if (f[j] && dict.find(s.substr(j, i-j)) != dict.end()) {
f[i] = true;
break;
}
}
}
return f[n];
}
};
本文深入探讨了如何通过编程技巧将给定字符串分割为一系列来自字典的词汇,详细介绍了实现这一目标的算法逻辑,并通过实例演示了如何在实际场景中应用该方法。
1607

被折叠的 条评论
为什么被折叠?



