您的位置:首页 > 其它

Leetcode 139. Word Break | DP

2018-01-11 19:36 615 查看
https://leetcode.com/problems/word-break/description/

没啥说的把,dp[i] = dp[k] & substr(k~i)在dict里面

class Solution {
public:
bool wordBreak(string s, vector<string>& wordDict) {
unordered_set <string> dict;
int tot_len = 0;
for (int i = 0; i < wordDict.size(); i++) {
dict.insert( wordDict[i] );
tot_len += wordDict[i].size();
}

bool dp[s.size() + 1];

for (int i = 0; i < s.size(); i++) {
dp[i] = false;
for (int k = 0; k <= i; k ++) {
if (k>=1?dp[k-1]:true) {
dp[i] |= (bool) ( dict.count( s.substr(k, i - k + 1) ) );
}
}
}

return dp[s.size()-1];
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: