139 單詞拆分

2021-10-02 14:04:30 字數 882 閱讀 2613

題目.

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...