leetcode 139. Word Break
Posted draymonder
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode 139. Word Break相关的知识,希望对你有一定的参考价值。
dp思想
dp[i] // 表示 [0, i) 是否已经匹配
所以 对于( j < i && dp[j] && wordDict.contains(s.substr(j, i-j)) ) dp[i]是匹配的
因为 [0,j-1]已经匹配了 然后从[j, i-1] 也已经匹配了 所以 dp[i] = true
code
class Solution
public:
bool wordBreak(string s, vector<string>& wordDict)
int len = s.size();
if(len == 0 && wordDict.size() == 0)
return true;
if(len == 0 || wordDict.size() == 0)
return false;
unordered_map<string, bool> mp;
for(auto x : wordDict) mp[x] = true;
vector<bool> dp(len+1, false);
dp[0] = true;
for(int i=1; i<=len; i++)
for(int j=0; j<i; j++)
if(dp[j])
string st = s.substr(j, i-j);
if(mp[st])
dp[i] = true;
break;
return dp[len];
;
以上是关于leetcode 139. Word Break的主要内容,如果未能解决你的问题,请参考以下文章