[Lc]239滑动窗口最大值

题目 题解 看题解有三个方法。最重要的是滑动窗口法,记录一下,其他的还有暴力法(超时)和动态规划法(没看懂,有时间再看) 1. 滑动窗口+单调递减队列

[Lc]面试题59_II队列的最大值

题目 //Your MaxQueue object will be instantiated and called as such: MaxQueue* obj = new MaxQueue(); int param_1 = obj->max_value(); obj->push_back(value); int param_3 = obj->pop_front(); 题解 添加一个辅助的递减双端队列,用来保存对应队列中该数的最大值 push时: 当新添加的数小

[Lc]235二叉搜索树的最近公共祖先

题目 二叉树结构如下: //Definition for a binary tree node. struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {} }; 题解 两个方法 这道题是236的子问题,多了二叉搜索树的限制。用236的方法也

[Lc]236二叉树的最近公共祖先

题目 二叉树结构如下: //Definition for a binary tree node. struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {} }; 题解 两个方法 1. 递归+后序遍历 直接用后续遍历对二叉树进行遍历,每次返回有以下