LeetCode Word Break
来源:互联网 发布:飞思卡尔单片机怎么学 编辑:程序博客网 时间:2024/06/10 03:17
LeetCode解题之Word Break
原题
给定一个目标字符串和一组字符串,判断目标字符串能否拆分成数个字符串,这些字符串都在给定的那组字符串中。
注意点:
- 无
例子:
输入: s = “leetcode”, wordDict = {“leet”, “code”}
输出: True
解题思路
采用动态规划的方法解决,dp[i]表示字符串s[:i]能否拆分成符合要求的子字符串。我们可以看出,如果s[j:i]在给定的字符串组中,且dp[j]为True(即字符串s[:j]能够拆分成符合要求的子字符串),那么此时dp[i]也就为True了。按照这种递推关系,我们就可以判断目标字符串能否成功拆分。
AC源码
class Solution(object): def wordBreak(self, s, wordDict): """ :type s: str :type wordDict: Set[str] :rtype: bool """ n = len(s) dp = [False] * (n + 1) dp[0] = True for i in range(n): for j in range(i, -1, -1): if dp[j] and s[j:i + 1] in wordDict: dp[i + 1] = True break return dp[n]if __name__ == "__main__": assert Solution().wordBreak("leetcode", {"leet", "code"}) == True
欢迎查看我的Github (https://github.com/gavinfish/LeetCode-Python) 来获得相关源码。
0 0
- leetcode Word Break & Word Break ||
- Leetcode: Word Break
- [leetcode]Word Break
- [leetcode]Word Break II
- LeetCode:Word Break
- LeetCode:Word Break II
- Leetcode: Word Break II
- [LeetCode] Word Break
- [LeetCode] Word Break II
- LeetCode: Word Break
- leetcode之Word Break
- [LeetCode]Word Break II
- [LeetCode]Word Break
- leetcode-Word Break
- LeetCode 之 Word Break
- leetcode word break
- LeetCode | Word Break
- LeetCode | Word Break II
- 使用multipart/form-data上传文件
- Leetcode - House Robber
- 深入理解海量日志收集利器 Flume
- TensorFlow教程04:针对机器学习初学者的MNIST实验——源码和运行结果
- C++ 快速幂取模+大数相乘取模
- LeetCode Word Break
- WEB前端试题收集
- 负载均衡,程序猿必备的知识储备
- Android项目重构之路:架构篇
- 对于集合一定要调用isEmpty
- 安装memcached
- Shell脚本学习笔记-条件判断
- Android性能专项测试测试点指导(一)
- java对字符串操作大全