leetcode:word-break-ii
来源:互联网 发布:jquery json转数组 编辑:程序博客网 时间:2024/06/07 15:46
1.题目描述
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"].
2.题目分析3.代码实现
class Solution {public: vector<bool>* dp; vector<string> mystring; vector<string> result; vector<string> wordBreak(string s, unordered_set<string> &dict) { dp = new vector<bool>[s.size()]; for(int i =0;i<s.size();i++) { for(int j =i;j<s.size();j++) { dp[i].push_back(isMatch(s.substr(i,j-i+1),dict));//dp[i][j]表示i到i+j字符串在字典中 } } output(s.size()-1, s); return result; } void output(int i, string s)//比较复杂 { if(i==-1)说明可以实现一种情况的分割,就可以进行输出了 { string str; for(int i=mystring.size()-1;i>=0;i--) { str += mystring[i]; if(i!=0) { str.push_back(' '); } } result.push_back(str); } else { for(int k=0;k<=i;k++) { if(dp[k][i-k]) { mystring.push_back(s.substr(k,i-k+1)); output(k-1,s); mystring.pop_back(); } } } } bool isMatch(string str, unordered_set<string> &dict) { unordered_set<string>::const_iterator got = dict.find (str); if(got != dict.end()) { return true; } else { return false; } }};
0 0
- [leetcode]Word Break II
- LeetCode:Word Break II
- Leetcode: Word Break II
- [LeetCode] Word Break II
- [LeetCode]Word Break II
- LeetCode | Word Break II
- [LeetCode] - Word Break II
- LeetCode - Word Break II
- Leetcode Word Break II
- [LeetCode] Word Break II
- Word Break II -- LeetCode
- LeetCode (Word Break II )
- Leetcode--Word Break II
- Leetcode: Word Break II
- LeetCode Word Break II
- Word Break II leetcode
- [leetcode]Word Break II
- leetcode -- word break II
- HDU 1500 Chopsticks(DP)
- java变量,初始化快,构造函数的执行顺序
- 日期计算
- KenLM代码学习之lmplz_main.cc
- MongoDB 投影
- leetcode:word-break-ii
- CentOS 6.8安装 glibc 2.15
- RxJava实战演示1------基本代码使用
- dbus-python指南
- idea和eclipse 的debug调试快捷键对比
- JavaScript将对象转换为JSON
- 表单填写后输回车跳转到下一个输入
- Blueprints - 蓝图之间的交互
- 自动调整linux系统时间和时区与Internet时间同步