題意理解
給定乙個字串,給定乙個字串陣列,問字串能否用字串陣列拼接而成,字串陣列中的字串可以重複出現
問題分析
記憶性遞迴
這種組合問題需要遞迴來處理。
0501:
用動規來做
思路是字串分割為前幾個字元,後幾個字元,轉移方程是用前幾個字元是否可拆分,配上後面的字串是否存在。
遍歷的時候容易出錯。
其他0501: 還行,加油!
鏈結
bool wordbreak(string s, vector& worddict)
mapmem;
mem[""] = true;
return wordbreak(s, mem, dict);
}bool wordbreak (string s, map& mem, mapdict)
}return mem[s] = false; //返回失敗,同時字典增加乙個新字串結果
}
class solution
int len = s.size();
vectordp(len+1);
dp[0] = 1;
for (int i = 1; i <= len; i ++)
}
}cout << i << '\t' << dp[i] << endl;
}return dp[len];
}};
樂扣139單詞拆分
問題描述 給定乙個非空字串 s 和乙個包含非空單詞列表的字典 worddict,判定 s 是否可以被空格拆分為乙個或多個在字典 現的單詞。說明 拆分時可以重複使用字典中的單詞。你可以假設字典中沒有重複的單詞。示例 1 輸入 s leetcode worddict leet code 輸出 true ...
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...