![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法与数据结构
曾格0
csdn YYDS
展开
-
红黑树的应用与实现
和avl树的选择一样的,首先进行节点的上下互换,然后左旋后,下面的节点在左边;右旋后,下面的节点在右边。这五个性质保证了左右子树的高度不超过2倍,如果一颗子树的高度是n,另一棵子树的最大高度最大是2n-1。旋转是基础,因为在插入和删除后的修复,都需要用到旋转操作,这里只进行插入。原创 2022-12-30 20:48:55 · 134 阅读 · 0 评论 -
乘积最大子数组
虾皮笔试:力扣如 2 6 -1 2的最大值是12; 2 3 -2 4 -1的最大值是 48。解题思路:DP最大值有两种生成途经:nums[i]*当前负数最小值;nums[i]*当前正数最大值。 两个值minF,maxF:一个值用来表示以当前元素结尾的最小值(为负数才有意义),一个值用来表示以当前元素结尾的最大值(可能被划分区间了)。每轮比较更新一下到当前为止的最大值。。 minF:如果nums[i]为负数,那么最小值就是nums[i]*上一轮最大值,最大值就是nums[i]*上一轮最小值(如原创 2022-03-07 23:10:23 · 157 阅读 · 0 评论 -
最长递增子序列
腾讯一面,安奇信笔试dp[i]:递增长度为 i 的子序列的最小结尾值。class Solution {public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 实现求序列中最长子序列长度 * @param N int整型 元素个数 * @param sequence int整型vector 给定序列 * @return int整型 */ // 用一个数组继..原创 2022-03-05 23:26:30 · 146 阅读 · 0 评论 -
包含min的最小栈
牛客链接https://www.nowcoder.com/practice/4c776177d2c04c2494f2555c9fcc1e49?tpId=265&tqId=39232&rp=1&ru=/exam/oj/ta&qru=/exam/oj/ta&sourceUrl=%2Fexam%2Foj%2Fta%3FtpId%3D13&difficulty=undefined&judgeStatus=undefined&tags=&titl原创 2022-03-04 16:12:33 · 118 阅读 · 0 评论