摘要:
2. 先画出图,再写代码3. 写先简单的dfs,再剪枝。 虽然不是最秀的,但至少能让你看得懂! - 括号生成 - 力扣(LeetCode) backtracking = DFS + 回溯 + 剪枝 把方法命名为dfs比较好理解。dfs一直到有用解或者不可解。有用解,返回true(也可回溯); 不可解 阅读全文
posted @ 2021-08-29 23:17
xuyv
阅读(111)
评论(0)
推荐(0)
摘要:
双指针: 不同的状态,导致不同指针的移动。最终的状态由于两个指针的位置决定。 经典题目: 1. 盛最多水的容器 问题抽象,容量: min(l, r) * t。 容量取决于最小的一块木板,并且和木板之间的距离有关。 另双指针在容器的各自最远端。双指针开始向内移动,最大的容量必定在向内移动的过程中产生。 阅读全文
posted @ 2021-08-29 21:44
xuyv
阅读(71)
评论(0)
推荐(0)
摘要:
经典题目: 1. 最长回文子串 回文的特点是镜像,以中间字符为中心,向外扩张应该是镜像的。 因此,每个字符最多扩展2N次(奇数回文,偶数回文),时间复杂度O(N) 2. 最小路径和 动态规划:状态;状态转移方程 已知基础解。 3. 不同路径 动态规划 4. 不同的二叉搜索树 已知n的结果依赖于前面的 阅读全文
posted @ 2021-08-29 18:48
xuyv
阅读(238)
评论(0)
推荐(0)
摘要:
滑动窗口模式: 识别子串,子串中存在着重复的模式。 因为有重复的模式,所以窗口可以固定地向一个方向滑动,而不需要重新从头开始。 经典题目: 1. 无重复字符的最长子串 模式:如果某一个子串无重复字符,则窗口可以向前滑动一步进行判断,因为新的窗口-1内的字符必定不会重复。 即无重复字符的子串的子串,必 阅读全文
posted @ 2021-08-29 18:30
xuyv
阅读(60)
评论(0)
推荐(0)
摘要:
数据结构 struct { int value; Node* left; Node* right; } Node; 经典题目 1. 中序遍历 解法:递归 visit(root->left, result); result.push(root); visit(root->right, result); 阅读全文
posted @ 2021-08-29 14:55
xuyv
阅读(95)
评论(0)
推荐(0)
浙公网安备 33010602011771号