单词分割
来源:互联网 发布:生活中的人工智能产品 编辑:程序博客网 时间:2024/04/28 20:23
public class AlgTest {
private static final int START = 0;//开始值
public static void main(String[] args) {
String s = "hellleet";
Set<String> dict = new HashSet<String>();
dict.add("hell");
dict.add("leet");
if (wordBreak(s, dict,START)) {
System.out.println("符合");
}
}
public static boolean wordBreak(String s, Set<String> dict, int start){
return helper(s, dict, start);
if(start == s.length()){
return true;//递归回归标记
}
for(String atom : dict){
int len = atom.length();
int end = start + len;
if(end > s.length()){
continue;
}
if(s.substring(start, end).equals(atom)){
if(helper(s, dict, start + len)){//递归
return true;
}
}
}
return false;
}
}
private static final int START = 0;//开始值
public static void main(String[] args) {
String s = "hellleet";
Set<String> dict = new HashSet<String>();
dict.add("hell");
dict.add("leet");
if (wordBreak(s, dict,START)) {
System.out.println("符合");
}
}
public static boolean wordBreak(String s, Set<String> dict, int start){
return helper(s, dict, start);
}
private static boolean helper(String s,Set<String> dict,int start){if(start == s.length()){
return true;//递归回归标记
}
for(String atom : dict){
int len = atom.length();
int end = start + len;
if(end > s.length()){
continue;
}
if(s.substring(start, end).equals(atom)){
if(helper(s, dict, start + len)){//递归
return true;
}
}
}
return false;
}
}
0 0
- 单词分割
- 单词分割
- 分割单词
- 文本文件单词分割程序
- Word Break 单词分割
- 1203:单词分割
- 1203:单词分割
- 图像分割单词
- 用C++实现单词分割
- VBA分割单词代码尝试
- 提取用','分割的单词
- 单词分割(Word Splitting)
- 字符串分割,字符串拷贝,单词逆置,单词逆置
- 使用StringTokenizer分割并统计单词个数
- Word Break II 单词分割系列2
- StringTokenizer与split()分割单词区别
- bash之单词分割(word splitting)
- 如何将多行字符转化为分割的单词
- Drupal7做一个双语站
- js 技术自学
- vss(2005)使用详解
- fopen\fread\fwrite\fscanf\fprintf\fseek\feof\rewind\fgets\fputc等系列函数使用总结
- 工厂模式
- 单词分割
- 一个合格的程序员应该读过哪些书
- 好开心哦
- POJ 2612 Mine Sweeper 模拟
- Xcode 快捷键
- Android TextView中文字通过SpannableString来设置超链接、颜色、字体等属性
- 白话机器学习算法(十七)熵,条件熵
- HDU 1879 继续畅通工程.
- 时对