動態規劃之單詞拆分

2021-10-12 03:19:14 字數 1017 閱讀 5789

單詞拆分

給定字串 s 和單詞字典 dict,確定 s 是否可以分成乙個或多個以空格分隔的子串,

並且這些子串都在字典中存在.

樣例 1:

輸入:"lintcode", ["lint", "code"]

輸出:true

樣例 2:

輸入:"a", ["a"]

輸出:true

解答:

定義dp[i][j]為s的前i個字元並且s的第j個字元到第i個字元劃分為乙個字串時是否可行

則有狀態轉換方程

dp[i][j] = dp[i][j] || 的或集

其中當i==j時,dp[i][j]為dp[i][0-j]的或集,即只需要有乙個滿足,則 dp[i][j]滿足

class

solution

的或集

其中當i==j時,dp[i][j]為dp[i][0-j]的或集,即只需要有乙個滿足,則 dp[i][j]滿足

*/int m = s.

size()

+1;int n = m;

bool

**dp =

newbool

*[m]

;for

(int i =

0; i < m; i++)}

dp[0]

[0]=

true

;for

(int i =

1; i < m; i++

)// 前i個組成的字串

for(

int i =

1; i < m; i++)}

bool bret = dp[m-1]

[m-1];

for(

int i =

0; i < m; i++

)delete

dp;

return bret;}}

;

139 單詞拆分 動態規劃

難度 中等 題目描述 解題思路 cat cats true false false true true false false false false false sand true false false true true false false true false false true fa...

動態規劃 139 單詞拆分問題

給定乙個非空字串 s 和乙個包含非空單詞列表的字典 worddict,判定 s 是否可以被空格拆分為乙個或多個在字典 現的單詞。說明 拆分時可以重複使用字典中的單詞。你可以假設字典中沒有重複的單詞。示例 1 輸入 s leetcode worddict leet code 輸出 true 解釋 返回...

LeetCode 139 單詞拆分(動態規劃)

難度 中等 這道題的難點在於示例3,字串包含字典中的所有單詞,但是就是無法由字典中的單詞組成,要麼就是多個字元,要麼就是少個字元,所以在使用動態規劃方法的時候要考慮這種情況的發生。動態規劃 我們先考慮這樣乙個子問題 前i個子串是否能夠被字典中的單詞組成,如果可以的話,我們就在這個子串的位置做乙個標記...