logo.jpg

三个月算法进阶--day36

交叉链表 双指针,遍历完短的之后接上长的,遍历完长的之后接上短的,相遇即为交叉结点 避免循环链表:重定位 记录 leetcode第160题相交链表 class

三个月算法进阶--day35

min_stack辅助栈 同步记录最小值 数据栈与辅助栈 同步与不同步 以空间换时间 负载因子λ 散列冲突解决方案 开放定址(λ在0~1之间):线性探测(

三个月算法进阶--day34

迭代的归并排序 cut环节和merge环节 空间复杂度要求O(1)用迭代 链表使用python的多元赋值 元组封装和序列拆封 dummyHead not p/p is not None/p != None 快排eq

三个月算法进阶--day33

链表调整结点记录访问顺序 哈希表和链表组合 LRU缓存机制,链表维护顺序 python的OrderedDict 有序字典,散列表中键的存储会受随机值

三个月算法进阶--day32

双指针链表 第一次相遇判断是否有环,切换指针第二次相遇找到环的入口。 散列Hashing 值确定存放位置,slot槽 散列函数 从数据项到存储槽名称的

三个月算法进阶--day31

判断是否出现过用集合比列表更好 链表同样适用,存储的为结点,可判断结点此前是否被访问过 链表的快慢指针 leetcode第141题环形链表 快两步,

三个月算法进阶--day30

异或 bit位相同为0,否则为1 任何数异或自己=把自己置零,0异或任何数=任何数,异或运算满足交换律和结合律 位运算 线性时间复杂度和常数空间复杂

三个月算法进阶--day29

float("-inf”) 子树 一个子树的内部路径,当然包含当前子树的根节点,否则就是子树的子树的内部路径。 递归反推就是由底向上,从叶子结点往上计算子树的结果值 遍历二

三个月算法进阶--day27

提到数组没提非空,就应考虑空数组 设置哨兵 维护的值与更新答案 最优值,历史最低价格minprice DP dynamic programming; decision process 重叠子问题 动态规划,每一刻的状态都由