139. Word Break Medium
来源:互联网 发布:淘宝网男士休闲布鞋 编辑:程序博客网 时间:2024/05/26 09:57
Given a non-empty string s and a dictionary wordDict containing a list of non-empty words, determine if s can be segmented into a space-separated sequence of one or more dictionary words. You may assume the dictionary does not contain duplicate words.
For example, given
s = "leetcode"
,
dict = ["leet", "code"]
.
Return true because "leetcode"
can be segmented as "leet code"
.
思路:使用动态规划,子问题为从s[0]开始的更短的子列能否分割。用bool[i]来保存长度为i的子列是否可以分割。可以分割的条件是最后一个分割线画在子列的末端。我们先看第一次画分割线能不能直接画在子列的末端,若能,则bool保存true,若不能,则子列中能画分割线使得分割线左面和右面均在dict中的地方添加分割线,若最终能满足子列可以分割,保存true,否则该子列不能分割,保存false。这样就列出所有子列可以画分割线的地方,s的分割线必定出现在s的结尾以及s子列的分割线处。最终bool的最后一项就是我们需要的结果。
class Solution(object): def wordBreak(self, s, wordDict): """ :type s: str :type wordDict: List[str] :rtype: bool """ bool = [False] bool = bool * len(s) i = 0 while i < len(s): if s[0 : i + 1] in wordDict: bool[i] = True else: j = 0 while j < i: if bool[j] and s[j + 1 : i + 1] in wordDict: bool[i] = True j += 1 i += 1 return bool[len(s) - 1]
阅读全文
0 0
- 【Medium】139. Word Break
- 139. Word Break -Medium
- 139. Word Break Medium
- LeetCode 139. Word Break (Medium)
- Leetcode 139. Word Break (Medium) (cpp)
- Word Break(medium)
- [Leetcode 139, medium] Word Break
- Medium 139题 Word Break
- LeetCode 139. Word Break
- 139.Word Break
- [LeetCode]139.Word Break
- 139. Word Break
- [leetcode] 139.Word Break
- leetcode 139. Word Break
- [LeetCode]139. Word Break
- 139. Word Break LeetCode
- 139. Word Break
- 139. Word Break
- kotlin开发安卓
- ORB算法特征匹配
- Java泛型中的标记符含义
- 史上最全Python数据分析学习路径图
- 视觉SLAM漫谈
- 139. Word Break Medium
- Xtrabackup物理备份Mysql(Innodb引擎)-全备份和增量备份
- LoadRunner 技巧之 集合点设置
- 一个人才数据网的爬虫软件
- Java基础学习之发送邮件
- python学习记录
- 简单排序以及冒泡排序
- 一幅图让你彻底理解KMP算法
- printf Log打印封装