摘要:
给个后序遍历序列,判断是否是二叉搜索树的。 根据定义,最后一个是根,先判断能否按大小分成两部分,然后两部分分别递归。 code class Solution { public: bool verifyPostorder(vector<int>& postorder) { int n=postorde 阅读全文
摘要:
每个位置i有一个最大跳跃距离,求最小步数从0跳到n 1。 dp[i]表示从0跳到i的最少步数,显然可以转移的状态就是从i a[i]到i 1。 因为是最小步数,考虑用优先队列优化,再考虑到状态有范围的,所以用单调队列,及时将失效的dp状态移除。 code 阅读全文
摘要:
求升序或降序三元组的数量 bit求出每个数两侧大于和小于的数的个数,然后枚举三元组中间数字。 code 阅读全文
摘要:
求二叉树的LCA code 阅读全文
摘要:
求二叉树最长的同值路径。 dfs返回每个节点的左节点或右节点向上的最大距离,然后全局更新答案是左节点+右节点(如果左节点和右节点和根节点的值相同)。 code 阅读全文
摘要:
单调队列模板题,扫描一遍,队尾维护单调性,队头维护不超过大小为k的区间。 code 阅读全文
摘要:
将升序数组的后面一部分放前面,求最小值。 显然题目是要O(logN)的做法,所以考虑二分,根据该数组的性质二分即可。 code 阅读全文