dp解决方案,状态转移方程
f[i]代表字符串第i位能否被分割
f[i]=(f[j]&&s.substring(j+1,i+1))||(f[j]&&s.substring(j+2,i+1))||...
public class Solution {
public boolean wordBreak(String s, Set<String> dict) {
boolean[] f = new boolean[s.length()];
for(int i =0; i<s.length(); i++){
if(dict.contains(s.substring(0, i+1))){
f[i]=true;
continue;
}else {
for(int j=0; j<i; j++){
if(f[j] && dict.contains(s.substring(j+1,i+1))){
f[i]=true;
continue;
}
}
}
}
return f[s.length()-1];
}
}
DP解决单词拆分问题
本文介绍了一种使用动态规划解决单词拆分问题的方法。通过定义f[i]为字符串第i位是否能被分割,利用状态转移方程f[i]=(f[j]&&s.substring(j+1,i+1))||(f[j]&&s.substring(j+2,i+1))||...来实现。文章给出了完整的Java代码实现。
4万+

被折叠的 条评论
为什么被折叠?



