給定乙個非空字串 s 和乙個包含非空單詞列表的字典 worddict,判定 s 是否可以被空格拆分為乙個或多個在字典**現的單詞。
說明:
示例 1:
輸入: s = "leetcode", worddict = ["leet", "code"]
輸出: true
解釋: 返回 true 因為 "leetcode" 可以被拆分成 "leet code"。
示例 2:
輸出:true
注意你可以重複使用字典中的單詞。
示例 3:
輸入: s = "catsandog", worddict = ["cats", "dog", "sand", "and", "cat"]
輸出: false
解題思路:
我們使用布林向量dp 。如果有效單詞(單詞序列)在那裡結束,則dp [i]設定為true。優化是從當前位置i回看並且僅查詢子串並且在找到具有dp [
j] == true的前一位置j的情況下查詢字典。
class solution }}
}return dp[s.size()];
}};
139 單詞拆分
給定乙個非空字串 s 和乙個包含非空單詞列表的字典 worddict,判定 s 是否可以被空格拆分為乙個或多個在字典中出現的單詞。說明 示例 1 輸入 s leetcode worddict leet code 輸出 true解釋 返回 true 因為 leetcode 可以被拆分成 leet co...
139 單詞拆分
給定乙個非空字串 s 和乙個包含非空單詞列表的字典 worddict,判定 s 是否可以被空格拆分為乙個或多個在字典 現的單詞。說明 示例 1 輸入 s leetcode worddict leet code 輸出 true解釋 返回 true 因為 leetcode 可以被拆分成 leet cod...
139 單詞拆分
題目.high 用遞迴是最簡單的,可惜會超時。一般來說遞迴超時了,就嘗試用dp吧,這兩者簡直親兄弟 package main import fmt import strings func wordbreak1 s string worddict string bool for v range wor...