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 · 268 阅读 · 0 评论 -
LeetCode133.克隆图
LeetCode133.克隆图 可以使用DFS和BFS。参考https://blog.youkuaiyun.com/qq508618087/article/details/50806972 1.DFS 判断当前节点是否被创建,如果创建直接返回。使用unordered_map来存储已经建立的节点。递归访问每个节点和每个邻居 class Solution { public: UndirectedGrap...转载 2018-11-10 11:04:30 · 370 阅读 · 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 · 663 阅读 · 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 · 591 阅读 · 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 · 417 阅读 · 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 · 430 阅读 · 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 · 564 阅读 · 0 评论
分享