給定乙個非空字串 s 和乙個包含非空單詞列表的字典 worddict,在字串中增加空格來構建乙個句子,使得句子中所有的單詞都在詞典中。返回所有這些可能的句子。
說明:分隔時可以重複使用字典中的單詞。
你可以假設字典中沒有重複的單詞。
示例 1:
輸入:s = "catsanddog"
worddict = ["cat", "cats", "and", "sand", "dog"]
輸出:[
"cats and dog",
"cat sand dog"
]示例 2:
輸入:s = "catsandog"
worddict = ["cats", "dog", "sand", "and", "cat"]輸出:
classsolution:
def wordbreak(self, s: str, worddict: list[str]) ->list[str]:
res=
found=
self.dfs(s,0,,res,worddict,found)
return
res
defdfs(self,s,start,tmp,res,worddict,found):
if start==len(s):''
.join(tmp))
return
true
if start in
found:
return
false
find=false
for i in range(start+1,len(s)+1):
if i in
found:
continue
t=s[start:i]
if t in
worddict:
ifself.dfs(s,i,tmp,res,worddict,found):
find=true
tmp.pop()
ifnot
find:
return find
140 單詞拆分 II
給定乙個非空字串 s 和乙個包含非空單詞列表的字典 worddict,在字串中增加空格來構建乙個句子,使得句子中所有的單詞都在詞典中。返回所有這些可能的句子。說明 分隔時可以重複使用字典中的單詞。你可以假設字典中沒有重複的單詞。示例 1 輸入 s catsanddog worddict cat ca...
140 單詞拆分 II
給定乙個非空字串 s 和乙個包含非空單詞列表的字典 worddict,在字串中增加空格來構建乙個句子,使得句子中所有的單詞都在詞典中。返回所有這些可能的句子。想到了單詞拆分,可以用動態規劃先判斷字串s中每個位置i是否可以拆分為單詞,dp i 表示 0,i 可以拆分,然後就可以根據dp i 來解決這個...
140 單詞拆分 II
140.單詞拆分 ii 給定乙個非空字串 s 和乙個包含非空單詞列表的字典 worddict,在字串中增加空格來構建乙個句子,使得句子中所有的單詞都在詞典中。返回所有這些可能的句子。說明 分隔時可以重複使用字典中的單詞。你可以假設字典中沒有重複的單詞。示例 1 輸入 s catsanddog wor...