s = "aaaaaaaaaaaaaaaaaaaaaaaaaaab";
dict = ["a","aa",""aaa","aaaab","aaaaaac"];
用一个boolean数组can,记录从0-i的字符串能否在字典中找到,can[i]表示substring[0,i]可以在字典中匹配。
public boolean wordBreak(String s, Set<String> dict)
{int length = s.length();
boolean can[] = new boolean[length+1];
can[0] = true;
for(int i = 0 ; i <= length; i++){
for(int j = 0;j<i ; j++ ){
if(can[j] && dict.contains(s.substring(j,i))){
can[i] = true;
break;
}
}
}
return can[length];
}