首页 > 其他 > 详细

Word Break

时间:2014-02-19 18:24:47      阅读:283      评论:0      收藏:0      [点我收藏+]

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".

 

bubuko.com,布布扣
public class Solution {
    public boolean wordBreak(String s, Set<String> dict) {
        boolean[] dp = new boolean[s.length()+1];
        dp[0] = true;
        int len = s.length();
        for(int i = 0; i< len; i++){
            if(!dp[i])
                continue;
            for(String e : dict){
               // end 为 dict 中的单词长度在substring终止时的下标
                int end = i+e.length();
                if(end > s.length())
                    continue;
                String sub = s.substring(i, end);
                if(dict.contains(sub))
                    dp[end] = true;
            }
        }
         return dp[len];
    }
   
}
bubuko.com,布布扣

Word Break

原文:http://www.cnblogs.com/RazerLu/p/3555173.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!