Leetcode 139 單詞拆分

2021-10-06 16:46:53 字數 1375 閱讀 1564

筆者以c++方式解決。

#include

"iostream"

using namespace std;

#include

"algorithm"

#include

"vector"

#include

"queue"

#include

"set"

#include

"map"

#include

"string"

#include

"stack"

class solution

/** * 判斷字串 s 是否 可以被字典 worddict 中的字元拆分

* @param s

* @param worddict

* @return

*/bool dfs

(string s, vector

&worddict)

// 由於 set 是有序集和,直接查詢即可

// 如果該字串已經計算過,直接返回 false

// 因為計算成功的直接就走了

auto iterator1 = setkeyschen.

find

(temp);if

(iterator1 != setkeyschen.

end())

// 遍歷 worddict 陣列

for(

int i =

0; i < worddict.

size()

;++i)

else}}

}return false;}}

;int

main()

; solution *psolution = new solution;

bool b = psolution->

wordbreak

(s, worddict)

; cout << b << endl;

system

("pause");

return0;

}

執行結果

有點菜,有時間再優化一下。

難得有時間刷一波leetcode, 這次做乙個系統的記錄,等以後複習的時候可以有章可循,同時也期待各位讀者給出的建議。演算法真的是乙個照妖鏡,原來感覺自己也還行吧,但是演算法分分鐘教你做人。前人栽樹,後人乘涼。在學習演算法的過程中,看了前輩的成果,受益匪淺。

感謝各位前輩的辛勤付出,讓我們少走了很多的彎路!

leetcode 139 單詞拆分

題目 給定乙個非空字串 s 和乙個包含非空單詞列表的字典 worddict,確定 s 是否可以被空格分割為乙個或多個在字典裡出現的單詞。你可以假設字典中無重複的單詞。例如,給出 s leetcode dict leet code 返回 true 因為 leetcode 可以被切分成 leet cod...

leetcode139 單詞拆分

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

leetcode139 單詞拆分

給定乙個非空字串 s 和乙個包含非空單詞列表的字典 worddict,判定 s 是否可以被空格拆分為乙個或多個在字典 現的單詞。動態規劃,dp i 表示前i個字元能否被拆分 class solution def wordbreak self,s str,worddict list str bool ...