查字典的DP解法

来源:互联网 发布:2015年度网络流行语 编辑:程序博客网 时间:2024/04/29 14:15

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];


}

0 0