139. Word Break
2017-09-22 12:43
162 查看
Given a non-empty string s and a dictionary wordDict containing a list of non-empty words, determine if s can be segmented into a space-separated sequence of one or more dictionary words. You may assume the dictionary does not contain duplicate words. For example, given s = "leetcode", dict = ["leet", "code"]. Return true because "leetcode" can be segmented as "leet code". UPDATE (2017/1/4): The wordDict parameter had been changed to a list of strings (instead of a set of strings). Please reload the code definition to get the latest changes.
这题比较有意思,并且在NLP处理中可能会应用很多,所以这道题可以深入挖掘。比如改进字符串匹配程序,可以加快它的查找速率。
如果dp[j-1] = true;(即stirng[0,…,j-1]匹配成功),如果子串string[j,..,i]能够匹配成功,则dp[i] = true,即整个字符串能够匹配成功。
class Solution { public: bool searchWork(string s,vector<string>& wordDict) { for(int i = 0;i < wordDict.size(); ++i){ if(s == wordDict[i]){ return true; } } return fals 4000 e; } bool wordBreak(string s, vector<string>& wordDict) { int n = s.size(); vector<bool> dp(n+1,false); if(n <= 0){ return true; } dp[0] = true; for(int i = 1;i <= n;++i){ for(int j = 1;j <= i;++j){ if(searchWork(s.substr(j-1,i-j+1),wordDict)){ dp[i] = dp[i] || dp[j-1];*强调内容* } } } return dp ; } };
相关文章推荐
- LeetCode 139 Word Break
- LeetCode139:Word Break
- leetcode 139: Word Break
- LeetCode *** 139. Word Break
- 139 Word Break
- 139. Word Break
- leetcode 139. Word Break
- leetcode[139]Word Break
- 139.Word Break
- LeetCode 139. Word Break
- 139. Word Break
- 139. Word Break
- leecode 解题总结:139. Word Break
- leetcodeOJ 139. Word Break
- 139. Word Break
- 139. Word Break
- 139. Word Break
- 139. Word Break
- 139. Word Break
- leetcode 139. Word Break