【LeetCode】Word Break II 解题报告
来源:互联网 发布:排序算法的比较 编辑:程序博客网 时间:2024/05/22 07:39
Given a string s and a dictionary of words dict, add spaces in s to construct a sentence where each word is a valid dictionary word.
Return all such possible sentences.
For example, given
s = "catsanddog"
,
dict = ["cat", "cats", "and", "sand", "dog"]
.
A solution is ["cats and dog", "cat sand dog"]
.
【题意】
相比Word Break,这次不仅要判断字符串能否被分解,还要把所有的分解情况给找出来。这样的话,我在Word Break用过的暴力法就可以很容易得改成这道题。
==================== 暴力法、穷尽法 ====================
【Java代码】
class Solution { List<String> ret; public List<String> wordBreak(String s, Set<String> dict) { String[] all = dict.toArray(new String[0]); ret = new ArrayList<String>(); //如果s中有字母没在dict出现过,那么结果肯定为false //这段代码的作用就是防止暴力法超时,有点投机的做法,我在Word Break解题报告中已讲过 for (int i = 0; i < s.length(); i++) { boolean flag = false; for (int j = 0; j < all.length; j++) { if (all[j].indexOf(s.charAt(i)) > -1) { flag = true; break; } } if (!flag) { return ret; } } nextWord(0, s, all, ""); return ret; } void nextWord(int pos, String s, String[] all, String sent) { if (pos == s.length()) { ret.add(sent.trim()); } for (int i = 0; i < all.length; i++) { if (s.indexOf(all[i], pos) == pos) { String str = sent; str += all[i] + " "; nextWord(pos + all[i].length(), s, all, str); } } }}
0 0
- LeetCode — Word Break II 解题报告
- LeetCode Word Break II 解题报告
- [LeetCode OJ] Word Break II 解题报告
- 【LeetCode】Word Break II 解题报告
- [leetcode] 140. Word Break II 解题报告
- [Leetcode] 140. Word Break II 解题报告
- LeetCode Word Break 解题报告
- 【LeetCode】Word Break 解题报告
- [LeetCode]Word Break,解题报告
- Word Break [Leetcode解题报告]
- LeetCode — Word Break 解题报告
- [LeetCode OJ] Word Break 解题报告
- [leetcode] 139. Word Break 解题报告
- [Leetcode] 139. Word Break 解题报告
- word break解题报告
- Leetcode Word Ladder II 解题报告
- 【LeetCode】Word Search II 解题报告
- LeetCode-Word Search II-解题报告
- 云计算平台管理的三大利器Nagios、Ganglia和Splunk
- 求最接近的最大2的指数次幂roundup_pow_of_two分析与实现
- Json字符串与Json对象的相互转换
- 数据库的最简单实现
- 把图片画成圆形
- 【LeetCode】Word Break II 解题报告
- linux系统中监控用户的操作记录命令
- 关于建设symbol store的建议
- Google protol Buffer
- android获得layout对象
- .net学习路线
- 23种设计模式全解析
- hdu4714 Tree2cycle 树上乱搞
- Java抓取邮箱