題目描述:
給定乙個非空字串 s 和乙個包含非空單詞列表的字典 worddict,判定 s 是否可以被空格拆分為乙個或多個在字典**現的單詞。
說明:拆分時可以重複使用字典中的單詞。
你可以假設字典中沒有重複的單詞。
示例 1:
輸入: s = "leetcode", worddict = ["leet", "code"]示例2:輸出: true
解釋: 返回 true 因為 "leetcode" 可以被拆分成 "leet code"。
示例3:
輸入: s = "catsandog", worddict = ["cats", "dog", "sand", "and", "cat"]思路1:動態規劃輸出: false
宣告乙個長度為 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 ...