Word Break
来源:互联网 发布:300036 超图软件 编辑:程序博客网 时间:2024/05/21 15:48
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"
.
先写测试用例,再写代码!
{"abcde"} {"a"}/{"ab"}/{"abc","bcd","cde","aaaaaaaaaaa"}
{"aaaaaaa"} {"a"}
class Solution {public:unordered_map<int, bool>avail;int maxlen; bool wordBreak(string s, unordered_set<string> &dict) { if(s.size() == 0 || dict.size() == 0)return false;maxlen = 0;//可能同意个对象,调用多次这个函数for(unordered_set<string>::iterator it = dict.begin(); it != dict.end(); ++it){//cout <<*it;if(it->size() > maxlen)maxlen = it->size();}return judge(0 , s, dict); }bool judge(int i,string s, unordered_set<string> &dict){if(i == s.size())return true;if(avail.find(i) != avail.end())return avail[i];for(int len = 1; len <= maxlen && i + len <= s.size(); len++)//注意 i越界的情况{string str = s.substr(i, len);if(dict.find(str) != dict.end()){bool rst = judge(i + len, s, dict);if(rst){avail[i] = true;return true;}}}avail[i] = false;return false;}};
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
- 2014上海全国邀请赛I题 Smart Software Installer(hdu5098)(top排序)
- 使用apache+ glassfish实现负载均衡和集群
- Eclipse中项目的导入和导出
- android中的对话框:自定义对话框
- java怎么判断两个Set 里的对象的值是否相同
- Word Break
- 对OD硬件断点的几点思考
- 《编码:隐匿在计算机软硬件背后的语言》TXT
- mysql-5.6.20-winx64免安装版数据库中文乱码终极解决方案
- 黑苹果安装及相关注意事项之五,安装Win7
- iOS 之AipArchive压缩和解压
- iotcl函数与网络接口
- 项目管理积分制度
- 你值得拥有:25 个 Linux 性能监控工具