
LeetCode
gentleman_zh
这个作者很懒,什么都没留下…
展开
-
LeetCode131.分割回文串
leetcode131.分割回文串(dfs + 回溯)class Solution {public: //131.分割回文串 bool isPali(string s) { for (int i = 0; i < s.length() / 2; i++) { if (s[i] != s[s.length() - i - 1]) return false; ...原创 2018-11-03 14:55:39 · 246 阅读 · 0 评论 -
LeetCode133.克隆图
LeetCode133.克隆图可以使用DFS和BFS。参考https://blog.youkuaiyun.com/qq508618087/article/details/508069721.DFS 判断当前节点是否被创建,如果创建直接返回。使用unordered_map来存储已经建立的节点。递归访问每个节点和每个邻居class Solution {public: UndirectedGrap...转载 2018-11-10 11:04:30 · 336 阅读 · 0 评论 -
LeetCode132.分割回文串2
leetcode132.分割回文串2(动态规划)状态:dp[i]表示字符串s[0...i]最少的分割次数。状态转移:dp[i] = min(dp[i], dp[j-1] + 1, 0=<j<=i&&s[j...i]是回文串)。边界:dp[0] = 0。在实现的过程中可以使用快速回文法(https://blog.youkuaiyun.com/qq_22080999/a...原创 2018-11-04 11:30:35 · 642 阅读 · 0 评论 -
LeetCode135.分发糖果
LeetCode135.分发糖果(动态规划)初始每人一个糖果,正向遍历,前后两个分数比较,如果后一个比前一个高则res[i] = res[i -1] + 1,同理反向遍历一次得出结果。class Solution {public: int candy(vector<int>& ratings) { vector<int> tp = ratings;...原创 2018-11-11 09:38:13 · 563 阅读 · 0 评论 -
LeetCode134.加油站
LeetCode134.加油站class Solution {public: int canCompleteCircuit(vector<int>& gas, vector<int>& cost) { int len = gas.size(); for (int i = 0; i < len; i++) ...原创 2018-11-11 09:42:38 · 395 阅读 · 0 评论 -
Leetcode139.单词拆分
LeetCode139.单词拆分动态规划遍历字符串s,dp[i]表示s[0...i-1]是可分割的class Solution {public: bool wordBreak(string s, vector<string>& wordDict) { vector<bool> dp(s.size() + 1, false); dp[0] =...原创 2018-11-17 20:17:10 · 396 阅读 · 0 评论 -
LeetCode140.单词拆分II
LeetCode140.单词拆分II动态规划+DFS+回溯。动态规划:根据139单词拆分使用动态规划dp[j][i]表示从s[j...i-1]是可拆分的,可以理解为长度len的字符串有len+1可以分割的位置。DFS:递归的遍历当前字符串,vector<stirng> path用来记录能够拆分的一条路径。回溯:同一分支的多种情况,path.push_back(); df...原创 2018-11-18 10:46:13 · 535 阅读 · 0 评论