Java实现-单词切分
来源:互联网 发布:ubuntu ssh 安装 编辑:程序博客网 时间:2024/06/08 05:44
给出一个字符串s和一个词典,判断字符串s是否可以被空格切分成一个或多个出现在字典中的单词。
样例
给出
s = "lintcode"
dict = ["lint","code"]
返回 true 因为"lintcode"可以被空格切分成"lint code"
public class Solution { /** * @param s: A string s * @param dict: A dictionary of words dict */ private int getMaxLength(Set<String> dict) { int maxLength = 0; for (String word : dict) { maxLength = Math.max(maxLength, word.length()); } return maxLength; } public boolean wordBreak(String s, Set<String> dict) { if (s == null || s.length() == 0) { return true; } int maxLength = getMaxLength(dict); boolean[] canSegment = new boolean[s.length() + 1]; canSegment[0] = true; for (int i = 1; i <= s.length(); i++) { canSegment[i] = false; for (int lastWordLength = 1; lastWordLength <= maxLength && lastWordLength <= i; lastWordLength++) { if (!canSegment[i - lastWordLength]) { continue; } String word = s.substring(i - lastWordLength, i); if (dict.contains(word)) { canSegment[i] = true; break; } } } return canSegment[s.length()]; }}
阅读全文
0 0
- Java实现-单词切分
- 单词切分
- 单词切分
- 单词切分
- 单词切分
- LeetCode-139. Word Break (JAVA)单词切分
- 题目:单词切分
- LintCode- 单词切分
- lintcode_单词切分
- LintCode 单词切分
- lintcode,单词切分
- lintcode(107)单词切分
- LintCode:单词切分
- LintCode 单词切分
- 单词切分-LintCode
- 单词切分-lintcode
- LintCode:M-单词切分
- 快速排序-三向切分(java实现)
- 图结构练习——BFSDFS——判断可达性
- list.remove报错解决方案
- Codeforces Round #426 (Div. 2) A. The Useless Toy
- InfluxDB入门教程
- Android项目中main方法运行报错
- Java实现-单词切分
- lua 报错 (a nil value) 是说对一个nil进行了操作
- 四色问题 zoj1084
- 水题:51Nod1432-独木舟
- linux中淘宝tengine安装配置
- 【思维】833A
- Matlab mex -setup 找不到编译器
- jQuery概述
- js拼接字符串