139. Word Break
class Solution {
public:
bool wordBreak(string s, vector<string>& wordDict) {
int n = s.size();
bool f [n + 1]; fill_n(f, n + 1, false);
// initialize a vector: vector<bool> f (n + 1, false);
f[0] = true;
for(int i = 1; i <= n ; i++){
for(int j = 0 ; j < i; j++){
string pre_word = s.substr(j, i - j);
if(f[j] && find(wordDict.begin(), wordDict.end(),pre_word)!= wordDict.end()){
f[i] = true;
break; // speed up
}
}
}
return f[n];
}
};Last updated
Was this helpful?