題目.
high
用遞迴是最簡單的,可惜會超時。一般來說遞迴超時了,就嘗試用dp吧,這兩者簡直親兄弟
package main
import
"fmt"
import
"strings"
func
wordbreak1
(s string
, worddict [
]string
)bool
for_
, v :=
range worddict
if!strings.
hasprefix
(s, v)
ifwordbreak
(s[len
(v):
], worddict)
}return
false
}func
wordbreak
(s string
, worddict [
]string
)bool
if strings.
hassuffix
(s[:i]
, v)
&& dp[i-
len(v)]}
}return dp[
len(s)]}
func
main()
))}
o(m*n)
o(n)
執行用時 :
0 ms
, 在所有 go 提交中擊敗了
100.00%
的使用者記憶體消耗 :
2.1 mb
, 在所有 go 提交中擊敗了
99.29%
的使用者
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 co...
139 單詞拆分
給定乙個非空字串 s 和乙個包含非空單詞列表的字典 worddict,判定 s 是否可以被空格拆分為乙個或多個在字典 現的單詞。說明 示例 1 輸入 s leetcode worddict leet code 輸出 true解釋 返回 true 因為 leetcode 可以被拆分成 leet cod...