99
1010## 题目大意
1111
12- ** 描述** :给定一个非空字符串 ` s ` 和一个包含非空单词的列表 ` wordDict ` 作为字典。
12+ ** 描述** :给定一个非空字符串 $s$ 和一个包含非空单词的列表 $ wordDict$ 作为字典。
1313
14- ** 要求** :判断是否可以利用字典中出现的单词拼接出 ` s ` 。
14+ ** 要求** :判断是否可以利用字典中出现的单词拼接出 $s$ 。
1515
1616** 说明** :
1717
1818- 不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。
1919- $1 \le s.length \le 300$。
2020- $1 \le wordDict.length \le 1000$。
2121- $1 \le wordDict[ i] .length \le 20$。
22- - ` s ` 和 ` wordDict[i] ` 仅有小写英文字母组成。
23- - ` wordDict ` 中的所有字符串互不相同。
22+ - $s$ 和 $ wordDict[ i] $ 仅有小写英文字母组成。
23+ - $ wordDict$ 中的所有字符串互不相同。
2424
2525** 示例** :
2626
5151
5252###### 2. 定义状态
5353
54- ` s ` 能否拆分为单词表的单词,可以分解为:
54+ $s$ 能否拆分为单词表的单词,可以分解为:
5555
5656- 前 $i$ 个字符构成的字符串,能否分解为单词。
5757- 剩余字符串,能否分解为单词。
5858
59- 定义状态 ` dp[i] ` 表示:长度为 $i$ 的字符串 ` s[0: i] ` 能否拆分成单词,如果为 ` True ` 则表示可以拆分,如果为 ` False ` 则表示不能拆分。
59+ 定义状态 $ dp[ i] $ 表示:长度为 $i$ 的字符串 $ s[ 0: i] $ 能否拆分成单词,如果为 $ True$ 则表示可以拆分,如果为 $ False$ 则表示不能拆分。
6060
6161###### 3. 状态转移方程
6262
63- - 如果 ` s[0: j] ` 可以拆分为单词(即 ` dp[j] == True ` ),并且字符串 ` s[j: i] ` 出现在字典中,则 ` dp[i] = True ` 。
64- - 如果 ` s[0: j] ` 不可以拆分为单词(即 ` dp[j] == False ` ),或者字符串 ` s[j: i] ` 没有出现在字典中,则 ` dp[i] = False ` 。
63+ - 如果 $ s[ 0: j] $ 可以拆分为单词(即 $ dp[ j] == True$ ),并且字符串 $ s[ j: i] $ 出现在字典中,则 ` dp[i] = True ` 。
64+ - 如果 $ s[ 0: j] $ 不可以拆分为单词(即 $ dp[ j] == False$ ),或者字符串 $ s[ j: i] $ 没有出现在字典中,则 ` dp[i] = False ` 。
6565
6666###### 4. 初始条件
6767
68- - 长度为 $0$ 的字符串 ` s[0: i] ` 可以拆分为单词,即 ` dp[0] = True ` 。
68+ - 长度为 $0$ 的字符串 $ s[ 0: i] $ 可以拆分为单词,即 $ dp[ 0] = True$ 。
6969
7070###### 5. 最终结果
7171
72- 根据我们之前定义的状态,` dp[i] ` 表示:长度为 $i$ 的字符串 ` s[0: i] ` 能否拆分成单词。则最终结果为 ` dp[size] ` , ` size ` 为字符串长度。
72+ 根据我们之前定义的状态,$ dp[ i] $ 表示:长度为 $i$ 的字符串 $ s[ 0: i] $ 能否拆分成单词。则最终结果为 $ dp[ size] $,$ size$ 为字符串长度。
7373
7474### 思路 1:代码
7575
@@ -88,6 +88,6 @@ class Solution:
8888
8989### 思路 1:复杂度分析
9090
91- - ** 时间复杂度** :$O(n^2)$,其中 $n$ 为字符串 ` s ` 的长度。
91+ - ** 时间复杂度** :$O(n^2)$,其中 $n$ 为字符串 $s$ 的长度。
9292- ** 空间复杂度** :$O(n)$。
9393
0 commit comments