Leetcode # 139. Word Break
- 2022.07.22
- Dynamic Programming
https://leetcode.com/problems/word-break/
Dynamic Programming
Time Complexity: O(len(s) ^ 3)
Space Complexity: O(len(s))
※ 上述複雜度也能以 Recursion wt/ Memoization
或 Depth-First Search(以 word 為節點單位)達成
class Solution: def wordBreak(self, s: str, wordDict: List[str]) -> bool: dp = [False] * (len(s) + 1) dp[0] = True word_dict = set(wordDict) for i in range(1, len(s) + 1): for j in range(i): if dp[j] and s[j:i] in word_dict: dp[i] = True break return dp[-1]
Last Updated on 2023/08/16 by A1go