代码随想录算法训练营第四十六天
139.单词拆分
代码
# !/usr/bin/env python
# -*- coding:utf-8 -*-
# @Time : 2022.12
# @Author : hello algorithm!
# @Note : https://leetcode.cn/problems/word-break/
from typing import List
class Solution:
"""
"""
def wordBreak(self, s: str, wordDict: List[str]) -> bool:
dp = [False] * (len(s) + 1)
dp[0] = True
for j in range(1, len(s) + 1):
for i in range(len(wordDict)):
word = wordDict[i]
length = len(word)
if j >= length and dp[j - length] and word == s[j - length:j] or dp[j]:
dp[j] = True
else:
dp[j] = False
return dp[len(s)]
if __name__ == '__main__':
s = "applepenapple"
wordDict = ["apple", "pen"]
ss = Solution()
print(ss.wordBreak(s, wordDict))