word-break-ii
来源:互联网 发布:华讯网络校园招聘待遇 编辑:程序博客网 时间:2024/06/03 15:29
问题描述:
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"].
AC代码:
class Solution {public: void countbreak(string &s,int index,string str,vector<int> &dp,const unordered_set<string> &dict,vector<string> &res,int &length){ string substr; for(int len = 1; index + len <= length; ++len){ if(dp[index + len] && dict.find(s.substr(index,len)) != dict.end()){ substr = s.substr(index, len); if(index + len >= length){ res.push_back(str + substr); } else{ countbreak(s, index + len, str + substr + " ", dp, dict, res,length); } } } } vector<string> wordBreak(string s, unordered_set<string> &dict) { int len=s.size(); vector<string> res; if(len<1) return res; vector<int> dp(len+1,0); dp[0]=1; for(int i=1;i<=len;i++){ for(int j=i-1;j>=0;--j){ if(dp[j]==1 && dict.find(s.substr(j,i-j))!=dict.end()) dp[i]=1; } } if(dp[len]==0) return res; countbreak(s,0,"",dp,dict,res,len); return res; }};
0 0
- Word Break && Word Break II
- Word Break && Word Break II
- [leetcode]Word Break II
- Word Break II
- Word Break II
- LeetCode:Word Break II
- Word Break II
- Leetcode: Word Break II
- [LeetCode] Word Break II
- [LeetCode]Word Break II
- LeetCode | Word Break II
- Word Break II
- Word Break II
- [LeetCode] - Word Break II
- LeetCode - Word Break II
- Leetcode Word Break II
- Word Break II
- Word Break II
- MySQL数据库连接池
- printf输出格式
- equals()重写规则
- Android Java Web实现登录注册(二)——服务器端
- HDU 5828 Rikka with Sequence(线段树+小优化)
- word-break-ii
- HDU 1257:最少拦截系统
- Log日志工具类
- 关于 RabbitMQ 中 consumer 侧的 ack 属性分析
- [HDU 5826] physics (简单物理题+简单积分)
- 程序编译和链接原理理解
- Java IO底层原理
- onvif开发_gsoap_中文乱码
- 选择器——:nth-child