140 單詞拆分 II

2022-05-13 07:42:41 字數 1063 閱讀 3442

給定乙個非空字串 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"]輸出:

class

solution:

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...