摘要: 给个后序遍历序列,判断是否是二叉搜索树的。 根据定义,最后一个是根,先判断能否按大小分成两部分,然后两部分分别递归。 code class Solution { public: bool verifyPostorder(vector<int>& postorder) { int n=postorde 阅读全文
posted @ 2020-06-23 10:21 Keane1998 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 每个位置i有一个最大跳跃距离,求最小步数从0跳到n 1。 dp[i]表示从0跳到i的最少步数,显然可以转移的状态就是从i a[i]到i 1。 因为是最小步数,考虑用优先队列优化,再考虑到状态有范围的,所以用单调队列,及时将失效的dp状态移除。 code 阅读全文
posted @ 2020-05-11 19:38 Keane1998 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 求升序或降序三元组的数量 bit求出每个数两侧大于和小于的数的个数,然后枚举三元组中间数字。 code 阅读全文
posted @ 2020-05-11 10:56 Keane1998 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 求二叉树的LCA code 阅读全文
posted @ 2020-05-10 11:15 Keane1998 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 求二叉树最长的同值路径。 dfs返回每个节点的左节点或右节点向上的最大距离,然后全局更新答案是左节点+右节点(如果左节点和右节点和根节点的值相同)。 code 阅读全文
posted @ 2020-05-09 22:54 Keane1998 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 单调队列模板题,扫描一遍,队尾维护单调性,队头维护不超过大小为k的区间。 code 阅读全文
posted @ 2020-04-03 23:37 Keane1998 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 将升序数组的后面一部分放前面,求最小值。 显然题目是要O(logN)的做法,所以考虑二分,根据该数组的性质二分即可。 code 阅读全文
posted @ 2020-04-01 21:47 Keane1998 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 经典的约瑟夫环,n个人排成一圈,第m个出队。 递归 code1 非递归 code2 阅读全文
posted @ 2020-03-30 11:01 Keane1998 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 每个字符串看成一个物品,两个属性是0和1的个数,转换为01背包。 code 阅读全文
posted @ 2020-03-30 10:39 Keane1998 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 简单搜索 code 阅读全文
posted @ 2020-03-30 09:41 Keane1998 阅读(151) 评论(0) 推荐(0) 编辑