139 單詞拆分

2021-09-08 13:49:30 字數 818 閱讀 8367

給定乙個非空字串 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...