leetcode-----139. 单词拆分
Posted 景云
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode-----139. 单词拆分相关的知识,希望对你有一定的参考价值。
代码
/*
* @lc app=leetcode.cn id=139 lang=cpp
*
* [139] 单词拆分
*/
// @lc code=start
class Solution {
public:
bool wordBreak(string s, vector<string>& wordDict) {
typedef unsigned long long ULL;
unordered_set<ULL> hash;
const int P = 131;
for (auto& word: wordDict) {
ULL h = 0;
for (auto c: word) h = h * P + c;
hash.insert(h);
}
int n = s.size();
vector<bool> f(n + 1);
f[0] = true;
s = ‘ ‘ + s;
for (int i = 0; i < n; ++i) {
if (f[i]) {
ULL h = 0;
for (int j = i + 1; j <= n; ++j) {
h = h * P + s[j];
if (hash.count(h)) f[j] = true;
}
}
}
return f[n];
}
};
// @lc code=end
以上是关于leetcode-----139. 单词拆分的主要内容,如果未能解决你的问题,请参考以下文章