[刷题]Word Break
来源:互联网 发布:淘宝hd下载安装 编辑:程序博客网 时间:2024/05/20 18:55
[LintCode]Word Break
public class Solution { /** * @param s: A string s * @param dict: A dictionary of words dict */ public boolean wordSegmentation(String s, Set<String> dict) { // 2015-05-18 假设contains方法时间复杂度为常数,O(n^2) if (s == null) { return false; } if (s.length() == 0) { return true; } int n = s.length(); int maxLen = getMaxLen(dict); //这样做是为了进一步降低时间复杂度,否则超时 boolean[] can = new boolean[n + 1]; // length is n + 1 can[0] = true; for (int i = 1; i < n + 1; i++) { can[i] = false; for (int len = 1; len <= maxLen && len <= i; len++) { // 只要有一次不满足条件,直接结束for-loop if (can[i - len] && dict.contains(s.substring(i - len, i))) { can[i] = true; break; } }// for }// for return can[n]; } // 假定dict有m个词,O(m) private int getMaxLen(Set<String> dict) { int maxLen = 0; for (String word : dict) { maxLen = Math.max(maxLen, word.length()); } return maxLen; }}
0 0
- [刷题]Word Break
- Word-break:break-word
- Word Break && Word Break ||
- leetcode刷题14:word break
- word-break
- Word Break
- Word Break
- Word Break
- word break
- Word Break
- Word Break
- Word Break
- Word Break
- Word Break
- Word Break
- Word Break
- Word Break
- Word Break
- 2015.5.12安卓学习笔记之PreferenceActivity
- 2015.5.13安卓学习笔记之sqllite数据库
- App开源分享-在路上项目源码
- NYOJ 题目608 畅通工程
- 网络游戏程序员须知 UDP vs TCP
- [刷题]Word Break
- 2015.5.13安卓笔记之listview
- LINK : fatal error LNK1158: 无法运行“cvtres.exe”
- 2015.5.14安卓之常用常用数据适配器
- 心形进度条
- Aptana Studio 3——对jquery智能提示非常强大的工具
- 杂乱笔记-myday01
- 秒杀多线程第十一篇 读者写者问题
- 为什么在这写博客