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

Word Break

时间:2014-08-25 22:46:55      阅读:260      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   os   io   for   div   log   amp   

这个题目思路:在一个bool型数组中,像接力一样传递匹配成功,传递到最后一个字符,说明匹配成功。说的明白点就是从第i(0~n)个字符开始向后与子串进行匹配,匹配的数组中标记为true,循环比较。

需要注意的是:unordered_set的count(T s)查看是否包含该元素。string类的substr(pos,n)函数返回从pos位置开始的n个字符。

 1 class Solution {
 2 public:
 3     bool wordBreak(string s, unordered_set<string> &dict) {
 4         int MainLen = s.size();
 5         vector<bool> dp(MainLen,false);
 6         dp[0] = true;
 7         for(int i=0;i<MainLen;i++)
 8         {
 9             if(dp[i])
10             {
11                 for(int j = i;j<MainLen;j++)
12                 {
13                     if(dict.count(s.substr(i,j-i+1)))
14                     {
15                         dp[j+1] = true;
16                     }
17                 }
18             }
19         }
20         return dp[MainLen];
21     }
22 };

 

Word Break

标签:style   blog   color   os   io   for   div   log   amp   

原文地址:http://www.cnblogs.com/ZhangYushuang/p/3935994.html

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