Word Break
来源:互联网 发布:工商信息查询网大数据 编辑:程序博客网 时间:2024/04/30 23:52
问题:
Given a string s and a dictionary of words dict, determine ifs can be segmented into a space-separated sequence of one or more dictionary words.
For example, given
s = "leetcode"
,
dict = ["leet", "code"]
.
Return true because "leetcode"
can be segmented as "leet code"
.
解析:字典比对字符串的子序列是否在其中,之后看符合的子序列是否能完整的构成一个s。思路很简单:
1.用一个二维int数组judge[i][j]表示能构成word的子序列。可以使用judg[i][j]=1表示从i到j为有效word。本程序中使用的是judge[i]里面的直接加入从i来开始的有效词的end位置。
2.递归判断是否存在从起始位置到end的有效路径。
class Solution {bool m_flag = false;int **judge;int *size; void addResult(string str, int start) //递归判断 { if(start == str.length()) {m_flag = true; } else { for(int k = 0; k < size[start]; k++) { int end = judge[start][k];addResult(str, end+1); } } }public: bool wordBreak(string s, unordered_set<string> &dict) { if(s.length() == 0 || dict.size() == 0) return m_flag; int len = s.length(); judge = new int*[len]; size = new int[len]; memset(size, 0, len*sizeof(int)); bool flag = false; for(int i = 0; i < len; i++) //构建judge[i][j] { judge[i] = new int[len]; for(int j = i; j < len; j++) { if(dict.find(s.substr(i, j - i + 1)) != dict.end()) { judge[i][size[i]++] = j; if(j+1 == len) flag = true; } } } if(flag == true) // 可能存在addResult(s,0); for(int i = 0; i < len; i++) delete judge[i]; delete judge; delete size; return m_flag;}};
0 0
- Word-break:break-word
- 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
- Word Break
- Word Break
- Word Break
- [动态规划] 蛇行序列(snake sequence)
- IOS NSPredicate 及正则表达式
- VC++6.0中MFC图片控件无法利用类向导添加成员变量的解决
- value stack contents 和 stack context(http://www.cnblogs.com/bukudekong/archive/2012/04/08/2437398.h)
- 行为设计模式---观察者模式(Observer)
- Word Break
- Hibernate,一对一的关联关系
- CalTech machine learning video 5 note , training vs. testing
- 2.1.7保留-表格相关元素
- HDU 1024 Max Sum Plus Plus
- gps纠偏
- 做技术的时间长了,越来越觉得分享也是一种快乐
- Eucalyptus常用查询命令
- CalTech machine learning, video 6 note,theory of generalization