当前位置:
首页 >
leetcode-139-单词拆分
发布时间:2024/8/26
57
豆豆
生活随笔
收集整理的这篇文章主要介绍了
leetcode-139-单词拆分
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
题目描述:
方法一:动态规划 O(n^2) O(n)
class Solution: def wordBreak(self, s: str, wordDict: List[str]) -> bool: maxlen=0 for word in wordDict: if len(word)>maxlen: maxlen=len(word) res=[0]*len(s) for i in range(len(s)): p=i while(p>=0 and i-p<=maxlen): # 两个条件 if (res[p]==1 and s[p+1:i+1] in wordDict) or (p==0 and s[p:i+1] in wordDict): res[i]=1 break p-=1 return True if res[-1]==1 else False另:
class Solution: def wordBreak(self, s: str, wordDict: List[str]) -> bool: arr,wordSet=[0],set(wordDict) for i in range(len(s)): for j in arr[::-1]: if s[j:i+1] in wordSet: arr.append(i+1) break return arr[-1]==len(s)方法二:记忆化回溯
方法三:宽度优先搜索
略
转载于:https://www.cnblogs.com/oldby/p/11197397.html
总结
以上是生活随笔为你收集整理的leetcode-139-单词拆分的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: C++ 实现 STL 标准库和算法(二)
- 下一篇: 【dp】POJ-2209