题目:Word Break
思路:将一个串可以划分的共有s.length+1个点,判断长为n的串是否能由字典中的词组成,则看之前有没有划分点能使其处于字典中 ,这样该问题 就分解为子问题的求解
所以可以使用动态规划
<span style="font-size:18px;">public class Solution { public boolean wordBreak(String s, Set<String> dict) { boolean[] tag = new boolean[s.length()+1]; tag[0] = true; for(int i = 1;i <= s.length();i++){ for(int j = 0;j < i;j++){ if(tag[j] && dict.contains(s.substring(j,i))){ tag[i] = true; break; } } } return tag[s.length()]; } }</span>
原文地址:http://blog.csdn.net/ymzmdx/article/details/44709503