归档
Growth | Study
09
27
27
第一章:手把手带你刷二叉搜索树-第一期 第一章:手把手带你刷二叉搜索树-第一期
labuladong手把手带你刷二叉搜索树-第一期 二叉树 二叉树算法设计的总路线:把当前节点要做的事做好,其他的交给递归框架,不用当前节点操心。 (可以理解成递归方法的应用) 明确递归结束的条件 (已经到了叶子节点) 把root该
2021-09-27
25
23
第一章:手把手带你刷二叉树-第三期 第一章:手把手带你刷二叉树-第三期
labuladong手把手带你刷二叉树(第三期) Q:怎么知道以自己为根节点的二叉树长什么样? A:可以通过后序遍历(根的左子树+根的右子树+根)得到自己的样子。如果某个子节点处为空,则用#进行填空 Q:怎么知道和别人长得是否一样?
2021-09-23
11
第零章:一个方法团灭LEETCODE股票买卖问题 第零章:一个方法团灭LEETCODE股票买卖问题
labuladong一个方法团灭LEETCODE股票买卖问题用的状态机,也就是三维的dp数组(天数,是否处于持有股票的状态(用0和1表示),已经交易的次数)。根据题意不断改变状态转移方程。本文采用二维数组,把是否持有股票的状态用不同的dp
2021-09-11
09
08
04
用栈实现队列 用栈实现队列
面试题09. 用两个栈实现队列 栈A用于加入元素 栈B用于反转元素。栈顶元素就是队头元素。删除队头时 先判断 B 是否为空,只要 B 不为空, 无论 A 是否为空都是从 B 弹出元素 B为空时 若A为空,则返回-1 若A不为空,则将其转反转
2021-09-04
03
697-数组的度 697-数组的度
697. 数组的度 先统计一次数组,得到度 滑动窗口的左右指针用于更新并统计信息 先增大右窗口,得到符合条件的窗口后,开始缩小左窗口 class Solution { public: int findShortestSubAr
2021-09-03
02
11-盛最多水的容器 11-盛最多水的容器
11. 盛最多水的容器 利用双指针,不断更新面积 决定面积大小的因素:两个柱子(指针)之间的距离以及两柱子的最低高度。所以面积表示为min(height[l],height[r])*(r-l) 如果低柱子不动,让高柱子的那一侧往里跳,(r
2021-09-02
02
6-Z字形变换 6-Z字形变换
6. Z 字形变换 模拟遍历过程 用一个flag记录当前是不是需要从上到下(从下到上)转换方向 初始flag设为-1。记录好当前行后,判断是否需要更新flag 如果行数为0或1,则直接返回 class Solution(object)
2021-09-02
08
30
32-最长有效括号 32-最长有效括号
32. 最长有效括号括号问题常常可以用栈来处理 stack idx ; // 如果是左括号,则左括号的索引入栈 vector v; // 记录全部有效括号的索引 如果当前为右括号,且栈顶有左括号,则记录栈顶左括号的索引和当前右括号的索
2021-08-30
2 / 11