lintcode-107-单词切分
2017-08-21 22:32
218 查看
107-单词切分
给出一个字符串s和一个词典,判断字符串s是否可以被空格切分成一个或多个出现在字典中的单词。
样例
给出s = "lintcode"
dict = ["lint","code"]
返回 true 因为"lintcode"可以被空格切分成"lint code"
标签
动态规划 字符串处理思路
使用动态规划,用一维数组 dp[i] 保存 0 - i 的子串可以被空格切分成一个或多个出现在字典中的单词code
class Solution { public: /* * @param s: A string * @param dict: A dictionary of words dict * @return: A boolean */ bool wordBreak(string s, unordered_set<string> dict) { // write your code here int sizeS = s.size(), sizeD = dict.size(); if (sizeS == 0 && sizeD == 0) { return true; } if (sizeS == 0 || sizeD == 0) { return false; } vector<bool> dp(sizeS + 1, false); dp[0] = true; for (int i = 0; i < sizeS; i++) { for (string str : dict ) { if (dp[i] == true && i + str.size() <= sizeS && s.substr(i, str.size()) == str) { dp[i + str.size()] = true; } } } return dp[sizeS]; } };
相关文章推荐
- lintcode(107)单词切分
- [LintCode 107] 单词切分(Python)
- lintcode_单词切分
- LintCode:单词切分
- LintCode- 单词切分
- 单词切分-LintCode
- LintCode:M-单词切分
- LintCode 单词切分
- **[Lintcode]Word Break单词切分
- lintcode,单词切分
- lintcode:单词切分
- lintcode 最后一个单词的长度(Java)
- LeetCode 140. Word Break II(单词切分)
- lintcode--最长单词
- 最后一个单词的长度---LintCode
- 单词拆分II-LintCode
- lintcode-最后一个单词的长度
- 【LintCode 简单】422. 最后一个单词的长度
- 单词排序 --- lintcode 819
- lintCode(133)——最长单词