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

Leetcode Word Break

时间:2014-06-21 07:30:55      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:style   class   blog   code   color   string   

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[i]表示s[0,i)之间存在划分使分隔后的字符串都在dict里面

dp[i]=

  true, 如果s[0,i)在dict里面

  true,如果dp[k]=true (即s[0,k)存在划分在dict里面)且s[k,i)在dict里面

  false,其他(默认)

  注意程序是前闭后开

bool wordBreak(string s, unordered_set<string> &dict){
    int n = s.length();
    vector<bool> dp(n+1,false);
    dp[0]=true;
    for(int i = 1 ; i < n+1; ++ i){
        for(int j = 0 ; j < i; ++ j){
            if(dp[j]&&dict.find(s.substr(j,i-j))!=dict.end()){
                dp[i] = true;
                break;
            }    
        }
    }
    return dp[n];
}

 

 

  

Leetcode Word Break,布布扣,bubuko.com

Leetcode Word Break

标签:style   class   blog   code   color   string   

原文地址:http://www.cnblogs.com/xiongqiangcs/p/3795370.html

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