Leetcode 139 單詞拆分

2021-10-01 12:41:23 字數 1071 閱讀 3411

題目描述:

給定乙個非空字串 s 和乙個包含非空單詞列表的字典 worddict,判定 s 是否可以被空格拆分為乙個或多個在字典**現的單詞。

說明:拆分時可以重複使用字典中的單詞。

你可以假設字典中沒有重複的單詞。

示例 1:

輸入: s = "leetcode", worddict = ["leet", "code"]

輸出: true

解釋: 返回 true 因為 "leetcode" 可以被拆分成 "leet code"。

示例2:

示例3:

輸入: s = "catsandog", worddict = ["cats", "dog", "sand", "and", "cat"]

輸出: false

思路1:動態規劃

宣告乙個長度為 str.length()+1的boolean陣列。 dp[i]表示 str[0 - > i-1] 能否被拆分。

則計算dp[i]的時候,我們已經知道dp[0] -----dp[i-1]。

所以狀態轉移方程為:dp[ i ] =dp[ j ]&&( s[ j , i ]是否在dict中 )

class solution 

for(int j = 0; j < i ;j++)}}

return dp[len];

}}

思路2:遞迴法

class solution 

set.add("");

return wordbreak( s, set);

}public boolean wordbreak(string s, setset)

for(int i=0;i}

map.put(s,false);

return false;

}}

leetcode 139 單詞拆分

題目 給定乙個非空字串 s 和乙個包含非空單詞列表的字典 worddict,確定 s 是否可以被空格分割為乙個或多個在字典裡出現的單詞。你可以假設字典中無重複的單詞。例如,給出 s leetcode dict leet code 返回 true 因為 leetcode 可以被切分成 leet cod...

leetcode139 單詞拆分

給定乙個非空字串 s 和乙個包含非空單詞列表的字典 worddict,判定 s 是否可以被空格拆分為乙個或多個在字典中出現的單詞。說明 拆分時可以重複使用字典中的單詞。你可以假設字典中沒有重複的單詞。示例 1 輸入 s leetcode worddict leet code 輸出 true 解釋 返...

leetcode139 單詞拆分

給定乙個非空字串 s 和乙個包含非空單詞列表的字典 worddict,判定 s 是否可以被空格拆分為乙個或多個在字典 現的單詞。動態規劃,dp i 表示前i個字元能否被拆分 class solution def wordbreak self,s str,worddict list str bool ...