#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param s string字符串
# @param dic string字符串一维数组
# @return bool布尔型
#
class Solution:
def wordDiv(self , s: str, dic: List[str]) -> bool:
# write code here 动态规划解题
n = len(s)
dp = [False]*(n+1)
dp[0] = True
for i in range(1,n+1):
for j in range(i):
if dp[j] and s[j:i] in dic:
dp[i] = True
break
return dp[-1]
# write code here 递归回溯解题
'''n = len(s)
def dfs(idx):
if idx>=n:
return True
for i in range(idx,n):
c = s[idx:i+1]
if c in dic and dfs(i+1):
return True
return False
return dfs(0)'''