码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode -- word break

时间:2014-08-11 17:40:22      阅读:237      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   for   ar   cti   div   

 一个没有把百酒都尝遍的人,是不会体会到清水之味的~

Given a string s and a dictionary of words dict, determine if s can be segmented into a space-separated sequence of one or more dictionary words.

For example, given
s = "leetcode",
dict = ["leet", "code"].

Return true because "leetcode" can be segmented as "leet code".

 

[解题思路]

DP: ans[i]表示s的下标0~i子串是否可以被dict表示

ans[i] = 存在k满足ans[k]&dict.contains(s.substr(k+1, i-k))==true即可. 

 1 bool Solution::wordBreak(std::string s, std::tr1::unordered_set<std::string> &dict)
 2 {
 3     if (s.length() == 0 || dict.size()==0)
 4     {
 5         return false;
 6     }
 7     int length = s.length();
 8     bool ans[length];
 9     for (int i = 0; i < length; i++)
10         ans[i] = false;
11     for (int i = 0; i < length; i++)
12     {
13         if (dict.find(s.substr(0, i+1)) != dict.end())
14             ans[i] = true;
15         for (int j = 0; j < i; j++)
16         {
17             if (ans[j]&&dict.find(s.substr(j+1, i-j))!=dict.end())
18             {
19                 ans[i] = true;
20                 break;
21             }
22         }
23     }
24     return ans[length-1];
25 }

 

leetcode -- word break,布布扣,bubuko.com

leetcode -- word break

标签:style   blog   color   io   for   ar   cti   div   

原文地址:http://www.cnblogs.com/taizy/p/3904979.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!